Form larger structures with Structural Patterns!
Structural patterns are related to the composition of classes and objects in order to form larger structures. They define how each component or entity should be structured to achieve flexible modules that need to interconnect with each other to form a larger system.
Within the structural patterns, there are class patterns and object patterns, the difference between these two is that class patterns describe how inheritance can be used to provide more usable interfaces, while object patterns describe how objects can be arranged into larger structures using object compositing, or by nesting objects within others.
Structural patterns help us attack problems such as:
- Interconnect two classes that cannot work together due to incompatibility of interfaces.
- Compose objects into tree-like structures to represent hierarchies.
- Add tasks to objects dynamically.
- Represent a subsystem using a single class.
- Share objects efficiently.
- In the next bulletins, each of the creational patterns will be deepened, which are: Adapter, Bridge, Composite, Decorator, Facade, Flyweight y Proxy.
Sources:
https://www.gofpatterns.com/design-patterns/module5/structural-design-pattern.php
https://sourcemaking.com/design_patterns/structural_patterns
Design Patterns : Elements of Reusable Object-Oriented Software