A software framework is a reusable design for a software system (or subsystem). This is expressed as a set of abstract classes and the way their instances collaborate for a specific type of software. Software frameworks can be object-oriented designs. Although designs don't have to be implemented in an object-oriented language, they usually are. A software framework may include support programs, code libraries, a scripting language, or other software to help develop and glue together the different components of a software project. Various parts of the framework may be exposed through an application programming interface (API).
- From Wikipedia
Joomla! 1.5 is a three tiered system:-
The classes in the Joomla! Framework are loosely grouped into several different packages, listed below. The links will take you to further information about each class including, where possible, examples of use. You can also browse the Joomla Framework and included libraries on api.joomla.org which is automatically generated by the phpDocumentor package from an analysis of the Joomla! source code, making use of specially formatted comments embedded in the source code itself. These two resources, one manually maintained, the other automatic, are intended to complement one another.
This package is deprecated from 1.5 onwards. Template extensions are part of the Document package now.