Frameworks
An Object-Oriented Framework is a collection of cooperating classes that together define a generic or template solution to a family of domain specific requirements.
Frameworks are often characterized by an inversion of control in which the framework plays the role of a main program in coordinating and sequencing application activity.
Frameworks embody design insight