Chapter 11

Modelling Design Patterns

Design patterns [Schmidt et al. 1996] are the most widely recognized kind of design motifs. Given the central role that they play in object-oriented design, we pay special attention to the problem of modelling design patterns, in particular design patterns from the catalogue called Design Patterns: Elements of Reusable Object-Oriented Software [Gamma et al. 1995].

The design patterns catalogue offers a useful vocabulary of design motifs (a “pattern language”). Patterns such as Factory Method, Observer, Iterator, Proxy, and Visitor capture software design practices that are immediately recognized by any veteran programmer. Many software designers report having to come up with a solution similar to one of those advocated in this catalogue through years of trial and error. The catalogue seeks to spare novice programmers from repeating these mistakes. A pattern in each chapter of the catalogue carefully describes a set of generic forces and advocates a solution that addressed the concerns of good design practices. Each pattern is illustrated using clear examples drawn from open-source and widely cited programs in C++ and Smalltalk. Today, this is one of the most popular textbooks in software design. Its success can be attributed, we believe, to its conceptual contribution to the level of abstraction in which the object-oriented software designer operates. Better mechanisms of abstractions offer one of the most effective methods of addressing the ...

Get Codecharts: Roadmaps and blueprints for object-oriented programs now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.