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. Introduction In the last couple of years, object-orientation has gained much attention in the field of software engineering. However, after some initial experiences with object-orientation, software engineers are facing fundamental problems when designing and reusing applications and libraries, which cannot be solved by current methods and tools. A growing number of people consider design patterns to be a promising approach to system development, which addresses the aforemen...
Stored only when both papers are in the corpus — 126 citations exist upstream.