|
|||||||
|
Presented by Julie Watson on 3/18/02
A framework is basically a set of abstract classes designed to be a re-usable skeleton. These classes define the interactions between a group of classes, and gives structure to the overall design. By inheritance, implementing classes can override the default behavior if necessary. There are two types of frameworks: white-box and black box. A white box has definitions that have no meaningful default implementation. Programmers of the framework classes can then use inheritance to override the method definitions to suit specific needs. A black-box framework offers a more ready-made unit ready for use that doesnt require a lot of change by the programmer. The key idea behind frameworks is to find good abstractions of the concrete classes. These frameworks represent the highest lever of reusability known today. They try and anticipate much of the design of the software system that is reused by all systems built with the framework. If a set of abstract and concrete classes makes of a generic software system for an application, it is referred to as an application framework.
Components rely on the contract created by the abstract classes of a framework. The components use variables that have the static type of the abstract classes on which they rely. They can bring in their own specific behavior if necessary and can also work with descendants of the abstract classes.
See above. Component interaction is defined by the architecture of the framework. |