Objetivos do Design e da Arquitetura
Nossos objetivos para o Code Igniter são máxima performance, capacidade e flexibilidade no menor e mais leve pacote possível.
Para atingir estes objetivos, somos dedicados no benchmarking, em rescrever e simplificar cada passo do processo de desenvolvimento, rejeitando qualquer coisa que não contribua para o progresso permanente.
Do ponto-de-vista técnico e arquitetônico, o Code Igniter foi criado com os seguintes objetivos:
- Instanciamento Dinâmico. No Code Igniter, componentes são carregados e rotinas executadas apenas quando requisistadas, ao invés de globalmente. Nenhuma suposição é feita pelo sistema sobre o que pode ser preciso além dos mínimos recursos do núcleo, por isso o sistema é tão leve. Os eventos, disparados pela requisição HTTP, e os controllers e views que você projeta determinarão o que deverá ser invocado.
- Acoplamento relaxado. Acomplamento é o grau que descreve o quanto componentes do sistema se relacionam entre si. O quanto menos um componente depender do outro, mais reutilizável e flexível um sistema se torna..
- Singularidade do Componente. Singularidade é o grau que mede o quão estreito é o propósito de um componente. No Code Igniter,cada classe e suas funççoes são altamente autônomas a fim de serem as mais úteis possíveis.
O Code Igniter é um sistema dinamicamente instanciado, de acomplamento relaxado, com alta singularidade de componentes. Ele busca simplicidade, flexibilidade e alta performance. Tudo isto num pequeno pacote.