Relationships between design patterns

The catalogue of design patterns from [Gamm94] contains about twenty design patterns and their mutual relationships. In this paper, we organize these relationships into different categories and revise the design patterns and their relationships. We are then able to arrange the design patterns in different layers. The results simplify the understanding of the overall structure of the catalogue, thereby making it easier to classify other design patterns, and to apply these design patterns to software development.

[1]  Ralph E. Johnson,et al.  Surveying current research in object-oriented design , 1990, CACM.

[2]  James Coplien,et al.  Advanced C++ Programming Styles and Idioms , 1991, Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239).

[3]  Ralph E. Johnson,et al.  Patterns Generate Architectures , 1994, ECOOP.

[4]  Paul R. Calder,et al.  Composing user interfaces with InterViews , 1989, Computer.

[5]  Niklaus Wirth,et al.  Algorithms and Data Structures , 1989, Lecture Notes in Computer Science.

[6]  Michael Ranft,et al.  OBST — An Overview , 1992 .

[7]  Peter Coad,et al.  Object-oriented patterns , 1992, CACM.

[8]  Erich Gamma,et al.  ET++—an object oriented application framework in C++ , 1988, OOPSLA 1988.

[9]  Ralph E. Johnson,et al.  Documenting frameworks using patterns , 1992, OOPSLA '92.

[10]  Ralph E. Johnson,et al.  Design Patterns: Abstraction and Reuse of Object-Oriented Design , 1993, ECOOP.

[11]  Mary Shaw Heterogeneous design idioms for software architecture , 1991, Proceedings of the Sixth International Workshop on Software Specification and Design.

[12]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[13]  Walter Zimmer,et al.  Experiences using Design Patterns to Reorganize an Object-Oriented Application , 1994 .