Design und Architektonische Ziele
Unser Ziel bei CodeIgniter ist maximale Geschwindigkeit, Funktionsvielfalt, und Flexibilität in einem möglichst kleinen, leichten Gesamtpaket.
Um dieses Ziel zu erreichen sind wir uns dem Benchmarking, Re-factoring, und der Vereinfachung eines jeden Entwicklungsschritts verschriehen, wobei wir alles unberücksichtigt lassen, was uns in den genannten Punkten nicht voran bringt.
Von einem technischen und architektonischen Standpunkt gesehen, wurde CodeIgniter mit folgenden Zielen entwickelt:
- Dynamische Instanzierung. Bei CodeIgniter, Komponenten werden nur dann geladen und Routinen nur dann ausgeführt, wenn dies erforderlich ist. Das System trifft keine Annahmen über Dinge die benötigt werden könnten, ausser der minimalen Kern-Ressourcen, sodass das Systm von Hause aus die leichtgewichtig wie möglich ist. Die Events, so wie sie von HTTP-Anfragen ausgelöst werden, und die Controller und Views die du erstellst, bestimmen selbst was benötigt wird.
- Loose Coupling. Coupling ist der Grad, zu dem sich Komponenten eines Systems aufeinander verlassen. Je weniger die Komponenten voneinander abhängig sind, desto wiederverwendbarer und fexibler wird das System. Unser Ziel ist ein sehr unabhängig aufgebautes System.
- Komponenten-Singularität. Singlularität ist der Grad zu dem Komponenten auf einen Teilbereich fokussiert sind. In CodeIgniter, jede Klasse und seine Funktionen sind höchst autonom, um maximale Nutzbarkeit zu erzielen.
CodeIgniter ist ein dynamisch instatiiertes, loosely coupled System mit hoher Komponenten-Singularität. Es strebt nach Einfachheit, Flexibilität und hoher Performance bei gleichzeitig kleinem Footprint.