Introduction to Design Patterns
Design patterns are efficient and elegant solutions to common problems in object-oriented software design. They are high-level abstract templates that can be applied to particular kinds of design problems.
8.1 |
Iteration and the Visitor Pattern |
182 |
In their very influential book, Design Patterns, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, often (affectionately) referred to as the "Gang of Four," analyzed 23 specific patterns [Gamma95]. Each pattern has a section devoted to it, including
- A pattern name
- A description of the kinds of problems to which one might apply the pattern
- An abstract description of a design problem and how its solution can be obtained
- A discussion of the results and trade-offs that can occur when the pattern is applied
Design patterns are used for many different purposes. As a result, they are subdivided into categories. The three main categories are
- Creational patterns, which manage the creation of objects
- Structural patterns, which describe how objects are connected together to form more complex objects
- Behavioral patterns, which are used to describe how code is organized, to assign responsibility or roles to certain classes, and to specify the way objects communicate with each other
The Gang of Four assert that design patterns are "descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context." As we continue to develop applications with Qt, we will discuss and give examples of several design patterns.
Iteration and the Visitor Pattern
|