Patterns for Encapsulating Class Trees

Home - About » Computer Science - Research - Publications
Computer Science
Research, Industry Work,
Community Service
Hillside Group, CHOOSE,
Stanford GSA
The Serious Side
Business School,
Learning Chinese
Humorous Takes
Switzerland, United States,
Software, Fun Photos
Travel Stories
Europe, United States, Asia
Living Places
Berlin (+ Gallery), Zürich
Boston, S.F. + Bay Area

Good object-oriented design firmly relies on abstract classes. They define the interface to work with subclasses that implement them. If clients directly name these subclasses, they become dependent on them. System evolution is hindered. This paper presents patterns that let developers encapsulate class trees behind their root classes. Clients use class specifications to retrieve classes and create objects. Classes can be removed and plugged into the class tree more easily. Thus, encapsulating class trees eases system evolution and configuration of system variants.

Dirk Riehle. "Patterns for Encapsulating Class Trees." In Pattern Languages of Program Design 2. Edited by John M. Vlissides, James O. Coplien and Norman L. Kerth. Reading, Massachusetts: Addison-Wesley, 1996. Chapter 6, page 87-104.

An earlier version appeared as: Dirk Riehle. "Patterns for Encapsulating Class Trees." PLoP '95, preliminary conference proceedings. University of Illinois at Urbana-Champaign, 1995. Paper 3-2.

The paper is available as a PDF file. Please note that the final published article is a copy-edited version of this pdf file and therefore may differ in minor details from the version provided here.

Copyright (©) 2007 Dirk Riehle. Some rights reserved. (Creative Commons License BY-NC-SA.) Original Web Location: