Second USENIX Conference on Object-Oriented Technologies (COOTS), 1996
Design Patterns for Dealing with
Dual Inheritance Hierarchies in C++
Dual Hierarchies are a common element of significant Object-Oriented
applications. They arise out of the need to seperate concerns. Despite
their prevalance, they present problems to the designer that are often
solvable only by using techniques that are generally considered unsafe.
This paper presents three patterns that can be employed to deal with the
problems of dual hierarchies. The patterns may be used in isolation,
to solve specific application related problems, or they can be used
together as a small pattern language in order to more comprehensively
address the issues in a larger application.
The patterns are called RUNGS OF A DUAL HIERARCHY, INTELLIGENT CHILDREN,
and STAIRWAY TO HEAVEN. In addition, another pattern, RTTI VISITOR, is
presented as an ancillary pattern that supports the others.