[Contents] [Previous] [Next]

Properties of frameworks

A framework is a collection of cooperating classes that make up a reusable design solution for a given problem domain. It typically includes objects that provide default behavior, like MacApp's menus and windows, and programmers use it by inheriting some of that default behavior and overriding other behavior so that the framework calls application code at the appropriate times.

There are three main differences between frameworks and class libraries:

A framework often embodies specific domain expertise. Application code customizes the framework in a way that solves a particular application problem within the general domain of the problem the framework was designed to solve. In the case of an application framework like MacApp, the expertise is in the domain of writing programs for the Mac OS that display menus and windows and perform other basic tasks consistently and reliably. In the case of a framework developed by a bank, the domain expertise embodied in the framework might be how customer accounts or certain kinds of financial transactions work. In this case, a programmer might customize the framework to create specific kinds of accounts or financial instruments.


[Contents] [Previous] [Next]

Addison-Wesley Publishing Company, Copyright©1995 by Sean Cotter and Taligent,Inc. All rights reserved.