Understanding structural design patterns
Structural design patterns follow a different approach compared to the creational ones. Their main characteristic is to structure objects in a way that is flexible and easy to extend. We can identify the following scenarios where structural design patterns can be used:
- Adjusting the layout of the objects to form larger structures: You have existing objects and want to add new functionality to them either because the requirements have changed or for code improvement reasons. You don't want to make the entity too big or introduce extra or duplicated code, so you want to make it easy to extend those objects without adding much overhead.
- Simplifying relationships between different entities: You have different objects that have some sort of a relationship between them. There are two main ways we can identify those relationships. An object can contain a reference to another object, which means that it is a has-a relationship. On...