Check out the new USENIX Web site.

Home About USENIX Events Membership Publications Students
Second USENIX Conference on Object-Oriented Technologies (COOTS), 1996

Design Patterns for Dealing with Dual Inheritance Hierarchies in C++

Robert Martin
Object Mentor


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.

?Need help? Use our Contacts page.

Last changed: 9 Jan 2003 aw
Technical Program
Conference Index