Classification of OO framework (Andrej Krajnc)

Source: Internet
Author: User

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 isolation.
  • 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 [1, 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]: javasgem 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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.