8.3.1 - Application Objects and Solution Objects
8.3.2 - Specification Inheritance and Implementation Inheritance
8.3.3 - Delegation
8.3.4 - The Liskov Substitution Principle
8.3.5 - Delegation and inheritance in Design Patterns
8.4.1 - Encapsulating Data Stores with the Bridge Pattern
8.4.2 - Encapsulating Legacy Components with the Adapter Pattern
8.4.3 - Encapsulating Context with the Strategy Pattern
8.4.4 - Encapsulating Platforms with the Abstract Factory Pattern
Note: The last two classes on the right should read EIBBlind and LuxmateBlind respectively.
8.4.5 - Encapsulating Control Flow with the Command Pattern
8.4.6 - Encapsulating Hierarchies with the Composite Design Pattern
Here are some other examples of the Composite design pattern, involving scene graphs in computer graphics / virtual reality. These images were taken from a Virtual Reality course taught at the University of Michigan: http://www.cs.uic.edu/~jbell/Courses/Eng591_F1999/outline_6.html Scene graphs are a directed acyclic graph used to describe the objects in a scene and things like lights and fog that affect their appearance. Grouping nodes in this implementation include Group, Separator, Switch, Level of Detail, and Transform Separator
8.4.7 - Heuristics for Selecting Design Patterns
8.4.8 - Identifying and Adjusting Application Frameworks
8.5.1 - Documenting Reuse
- Reference to a system using the solution
- Example of use
- Alternative solutions considered
- Encounterd trade-offs
8.5.2 - Assigning Responsibilities
- Component Expert
- Pattern Expert
- Technical Writer
- Configuration Manager
8.6.1 - Applying the Abstract Factory Design Pattern
8.6.2 - Applying the Command Design Pattern
8.6.3 - Applying the Observer Design Pattern
8.6.4 - Lessons Learned
The following pages are copied from "Design Patterns - Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, a.k.a. "The Gamg of Four".