How and why to encapsulate class trees

  • Authors:
  • Dirk Riehle

  • Affiliations:
  • Software Engineering Group, University of Hamburg, Vogt-Kolln-Str. 30, 22527 Hamburg, Germany

  • Venue:
  • Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

A good reusable framework, pattern or module interface usually is represented by abstract classes. They form an abstract design and leave the implementation to concrete subclasses. The abstract design is instantiated by naming these subclasses. Unfortunately, this exposes implementation details like class names and class tree structures. The paper gives a rationale and a general metaobject protocol design that encapsulates whole class trees. Clients of an abstract design retrieve classes and create objects based on class semantics specifications. Using abstract classes as the only interface enhances information hiding and makes it easier both to evolve a system and to configure system variants.