O'Reilly logo

Codecharts: Roadmaps and blueprints for object-oriented programs by J. Nicholson, Amnon H. Eden

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required