Diseño y Metas Arquitectónicas
Nuestra meta para CodeIgniter es máxima performance, capacidad, y flexibilidad en el más pequeño, liviano paquete posible.
Para llegar a este objetivo estamos comprometidos a utilizar tiempos de referencia, re-factorizar, y simplificar en cada paso del proceso de desarrollo, rechazando cualquier cosa que no avance en el objetivo establecido.
Desde un punto de vista técnico y arquitectonico, CodeIgniter fue creado con los siguientes objetivos:
- Instanciación Dinámica. En CodeIgniter, los componentes son cargados y las rutinas ejecutadas sólo cuando se pide, en vez de globalmente. No se hacen suposiciones por el sistema acerca de que puede necesitar además de los recursos mínimos del núcleo, así que el sistema es muy liviano por defecto. Los eventos, que se desencadenan por la petición HTTP, y los controladores y vistas que diseñe determinarán que es invocado..
- Poco Acomplamiento. Acomplamiento es el grado que los componentes de un sistema dependen entre ellos. Mientras menos componentes dependan de otro, más reusable y flexible el sistema se vuelva. nuestra meta era un sistema con muy poco acoplamiento.
- Singularidad del Componente. Singularidad es el grado que más componentes tienen un proposito en el que enfocarse más estrecho. En CodeIgniter, cada clase y sus funciones son altamente autónomas para permitir máxima utilidad.
CodeIgniter es un sistema instanciado dinámicamente, poco acoplado con gran singularidad de componente. Se esfuerza para la simplicidad, flexibilidad y alta performance en un paquete de pequeña pisada.