Design and Architectural Goals
The goal for revIgniter 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, revIgniter was created with the following objectives:
- Dynamic Component Loading. In revIgniter, 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. The goal was to develop a very loosely coupled system.
- Component Singularity. Singularity is the degree to which components have a narrowly focused purpose. In revIgniter, each library and its handlers are highly autonomous in order to allow maximum usefulness.
revIgniter is a dynamically loading, loosely coupled system with high component singularity. It strives for simplicity, flexibility, and high performance in a small footprint package.