General Overview of Frameworks

Up Java Resources C++ Resources .NET Resources DevHood Search

 

Presented by Julie Watson on 3/18/02

 

  • What is a framework?

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 doesn’t 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.

 

                               

  • What is a component?

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.

 

  • How do components interact with the framework?

See above.

Component interaction is defined by the architecture of the framework.