Архитектурные и проектные требования
- Автор mityok on февраля 16th, 2008
в категории
При создании CodeIgniter основными требованиями были максимальная производительность, мощность и гибкость при наименьшем возможном объеме кода.
Для соответствия этим требованиям разработчики применяли замеры производительности (benchmarking), рефакторинг и упрощение кода на каждом из этапов разработки, отбрасывая все, что не отвечало заявленным требованиям.
С технической и архитектурной точки зрения, при создании CodeIgniter ставились следующие цели:
- Динамическая загрузка. В CodeIgniter компоненты загружаются и процедуры выполняются только по мере востребованности. Система не делает никаких предположений о необходимых ресурсах кроме минимальных ресурсов ядра, поэтому система очень легковесна по умолчанию. События, вызванные HTTP запросом, контроллеры и представления определяют ресурсы, которые будут задействованы системой.
- Слабая связанность. Связанность отражает меру взаимо-зависимости компонентов внутри системы. Чем меньше компоненты системы зависят друг от друга, тем более гибкой и доступной для повторного использования является система.
- Обособленность компонентов. Обособленность является показателем того, насколько узко-специализированными являются компоненты системы. В CodeIgniter каждый класс и его функции максимально автономны для достижения наибольшей эффективности.
CodeIgniter является системой с динамической загрузкой ресурсов, низкой связанностью и высокой обособленностью компонентов. CodeIgniter стремится к простоте, гибкости и высокой производительности при малом объеме кода.

Отправить комментарий