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 frameworkapplication 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
本文地址:http://com.8s8s.com/it/it32989.htm