What are structural design patterns?
Structural design patterns are concerned with composing objects and classes in our software. They use different approaches in order to obtain new functionality and larger and potentially more complex structures. These approaches include the following:
Inheritance
Composition
Properly identifying the relationships between objects in an application is a key to simplifying the application's structure. In the following sections, we will be looking at different design patterns and provide examples, which will give a better feel of how to use the various structural design patterns.