summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/overview/goals.rst
diff options
context:
space:
mode:
authorDerek Jones <derek.jones@ellislab.com>2011-10-05 22:08:21 +0200
committerDerek Jones <derek.jones@ellislab.com>2011-10-05 22:08:21 +0200
commit4f0c8cb509f1a16e62bc1ddf23d035fcb06e0214 (patch)
treee0514a8f423613cfb31717e71c04ba186df1b0ae /user_guide_src/source/overview/goals.rst
parent044a5221843cc2d88b936f3e658a1df4bc28cfe2 (diff)
parent57ccd441085a4d387a0c7acdd7eec00ff9c1077a (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.rst32
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.