Frameworks and operating systems

The emergence of the unified modeling language (UML) as an industry standard for modeling complex systems has encouraged the use of automated tools that facilitate the development process from analysis through coding.

One major benefit of the object-oriented paradigm is the inherent support for abstraction-centric, reusable, and adaptable design. In particular, it is common to construct complex systems using predefined frameworks.

A framework is a collection of collaborating classes that provides a set of services for a given domain. You customize the framework to a particular application by subclassing and composing instances of the framework classes. Therefore, frameworks represent object-oriented reuse.

There are several advantages to using frameworks:

Frameworks are open and flexible designs because their classes can be customized by subclassing.


Feedback