Joomlatools Framework Internals
The Framework relies heavily on a set of strict conventions to provide predictability for both the developer and the other objects in the system. The Object Manager relies on the naming conventions to load the appropriate files that your application is trying to use.
Joomlatools Framework uses a centralized Object Management architecture. That structure provides a type of inversion of control (IOC) and allows separation of object instances from their class names. The Object Management package allows the creation of objects to be handled consistently, in one place, and provides a mechanism for the Framework's use of fallback classes.
This part of the architecture is centrally important to making the "Writing Less Code" possible.
Joomlatools Framework employs a component based architecture, where components are self contained libraries or applications, some of which are dispatchable (you can execute them from an HTTP request for example). Think of components like the packages of an SDK and you should get the picture. A component architecture allows for a greater amount of code re-use amongst and across projects.
At the very heart of Joomlatools Framework is the design principle: "Favor Composition over Inheritance"