Structural design patterns help represent and abstract relations between different entities. They facilitate abstraction of those entities and communication between them, to ensure greater maintainability and separation of concerns.
These patterns are found in many code bases, and are often recognized by their keywords. Adapters, proxies, and bridges may sound scary at first, but mastering them is critical for writing clean and maintainable code.
In this chapter, we'll explore the most popular ones:
- The adapter pattern
- Implementing decorators
- Facades and proxies
- Composite patterns
- The bridge pattern
- The flyweight pattern