Object Oriented Framework
Program-Transformation.Org: The Program Transformation Wiki
A framework is a
set of classes that embodies an abstract design for solutions to a family of related problems (
RalphJohnson and B. Foote, Journal of Object-Oriented Programming 1(2), 1988).
You can specialize and/or instantiate these classes to implement an application or subsystem.
Typical issues:
- Frameworks adopt an inverse control flow, sometimes called the Holywood Principle (don't call us, we'll call you): in contrast with a library, the methods you define to use the framework get called by the framework (for example through call backs or inheritance).
- Design patterns can be used to document the structure of frameworks -- for example IBM's San Francisco relies on the ModelViewControler? pattern.
- The interface between the framework and the application-specific parts built on top of it is realized as a set of extension points, or hot spots.
Resources
A well known industrial framework is IBM's San Francisco
The relationship between frameworks and
DomainSpecificLanguages is explored in:
Both are discussed in the
DSLAnnotatedBibliography as well.
CategoryArchitecture | Contributions by
ArieVanDeursen
Transform.ObjectOrientedFramework moved from Transform.ObjectOrientedFrameworks on 13 Dec 2001 - 23:33 by ArieVanDeursen -
put it back