Classification of OO framework (Andrej Krajnc)

1, some definitions:

  • a framework is a reusable design of all or part of a system that is represented by a set of abstract classes and the way their instance interact.
  • a framework is a skeleton of an application that can be customized by an application developer.

2, how frameworks compare to other oo reuse techinques ?( component, class libraries, patterns )

  • vs. component: framework are generally consisted of more components, are more customizable and more complex interface than components.
  • vs. class libraries: framework provide reuse at a high level of abstration .
  • vs. patterns: patterns are more abstract than frameworks.

3,problems:

  • design , reusing and combination of framework are hard.
  • a framework becomes a large and tightly coupled collection of classes that breaks sound moduliarization principles and is difficult to combine with other similar frameworks;

4, Framelet: are small frameworks which have a clearly defined simple interface , do not assume main control of an application and are easier manage, understand and specialize.it might be a pragmatic compromise between design patterns and application frameworks.

5, history:

  • the first widely used one, write in Simula in the 1960's.
  • Smalltalk , MVC
  • MacApp
  • Et++
  • CommonPoint, HotDraw, ACE, JAWS, MFC, OWL,
  • COM/DCOM, CORBA, EJB/RMI, .NET
  • frameworks in Java:

6, Classifications:

  • By Johnson and Foote[1988]: Whitebox framework and Blackbox framework.
  • Fayad, SChmidt and Johnson[1999]: Graybox framework, grassbox framework

 

  • application framework( GUI, database etc), domain framework( banking, insurance?etc )?and support frameworks( utilities : distribute computing, file access?etc ).

 

  • Fayad and Schmidt[1997]: systgem infrastructure framework, middleware integragtion frameworks and enterprise applecation frameworks .

A, Extensibility, whitebox, blackbox,graybox,glassbox

B,Scope, system infrastucture, middleware integration, domain, enterprise and business collaboration frameworks

C,Approach: Object oriented, component oriented, service oriented and aspect oriented

你可能感兴趣的:(framework)