Desain and Sasaran ArsitekturΒΆ
Tujuan kami untuk CodeIgniter adalah kinerja yang maksimum, kemampuan, dan fleksibilitas dalam hal terkecil, package seringan mungkin.
Untuk memenuhi tujuan ini kami berkomitmen untuk melakukan benchmarking, re-factoring, dan menyederhanakan setiap langkah dari proses pembangunanan, menolak semua yang tidak menjadi tujuan berikutnya.
Dari sudut pandang teknis dan arsitektur, CodeIgniter diciptakan dengan tujuan sebagai berikut:
- Dynamic Instantiation. Dalam CodeIgniter, komponen dimuat dan rutinitas dieksekusi hanya jika diminta, bukan secara global. Tidak ada asumsi yang dibuat oleh sistem tentang apa yang mungkin diperlukan di luar resource utama minimal, sehingga sistem ini sangat ringan secara default. Event, yang dipicu oleh HTTP request, dan controller dan view yang Anda rancang akan menentukan apa yang dipanggil.
- Loose Coupling. Coupling adalah sejauh mana komponen-komponen dari sistem mengandalkan satu sama lain. Semakin sedikit komponen yang bergantung satu sama lain, maka komponen tersebut lebih dapat digunakan kembali dan sistem menjadi fleksibel. Tujuan kami adalah sistem yang sangat longgar (very loosely coupled system).
- Component Singularity. Singularity adalah sejauh mana komponen memiliki tujuan yang difokuskan secara sempit. Dalam CodeIgniter, setiap class dan fungsinya sangat otonom supaya memungkinkan kegunaan yang maksimal.
CodeIgniter itu dynamically instantiated, sistem yang loosely coupled dengan singularitas komponen yang tinggi. Codeigniter berusaha untuk sederhana, fleksible, dan kinerja tinggi dalam paket dengan footprint yang kecil.