diff options
author | Derek Jones <derek.jones@ellislab.com> | 2011-10-05 22:08:21 +0200 |
---|---|---|
committer | Derek Jones <derek.jones@ellislab.com> | 2011-10-05 22:08:21 +0200 |
commit | 4f0c8cb509f1a16e62bc1ddf23d035fcb06e0214 (patch) | |
tree | e0514a8f423613cfb31717e71c04ba186df1b0ae /user_guide_src/source/overview/goals.rst | |
parent | 044a5221843cc2d88b936f3e658a1df4bc28cfe2 (diff) | |
parent | 57ccd441085a4d387a0c7acdd7eec00ff9c1077a (diff) |
Merge branch 'develop' of github.com:EllisLab/CodeIgniter into develop
Diffstat (limited to 'user_guide_src/source/overview/goals.rst')
-rw-r--r-- | user_guide_src/source/overview/goals.rst | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/user_guide_src/source/overview/goals.rst b/user_guide_src/source/overview/goals.rst new file mode 100644 index 000000000..ac581807f --- /dev/null +++ b/user_guide_src/source/overview/goals.rst @@ -0,0 +1,32 @@ +############################## +Design and Architectural Goals +############################## + +Our goal for CodeIgniter is maximum performance, capability, and +flexibility in the smallest, lightest possible package. + +To meet this goal we are committed to benchmarking, re-factoring, and +simplifying at every step of the development process, rejecting anything +that doesn't further the stated objective. + +From a technical and architectural standpoint, CodeIgniter was created +with the following objectives: + +- **Dynamic Instantiation.** In CodeIgniter, components are loaded and + routines executed only when requested, rather than globally. No + assumptions are made by the system regarding what may be needed + beyond the minimal core resources, so the system is very light-weight + by default. The events, as triggered by the HTTP request, and the + controllers and views you design will determine what is invoked. +- **Loose Coupling.** Coupling is the degree to which components of a + system rely on each other. The less components depend on each other + the more reusable and flexible the system becomes. Our goal was a + very loosely coupled system. +- **Component Singularity.** Singularity is the degree to which + components have a narrowly focused purpose. In CodeIgniter, each + class and its functions are highly autonomous in order to allow + maximum usefulness. + +CodeIgniter is a dynamically instantiated, loosely coupled system with +high component singularity. It strives for simplicity, flexibility, and +high performance in a small footprint package. |