In the last chapter, Creational Design Patterns, we explored the creational design pattern category and its individual design patterns, namely, abstract factory, builder, the factory method, prototype, simple factory, and singleton. We learned that creational design patterns are used to manage object instantiation. The purposes of creational design patterns are to separate object creation from the system, support reliance on object creation vice inheritance, encapsulate information regarding which classes are used by a system, and to protect object creation details.
In this chapter, Structural Design Patterns, we will explore the structural design pattern category. Structural design patterns are used to identify how system components are related. Seven specific structural design patterns, listed here, will be covered in this chapter. We will examine...