This group of patterns helps us to organize the inheritance of hierarchy in such way that it allows our types to obtain new functionality or a simplified interface. We can also wrap an object with another one that restricts access to an interface of underlying instance. The following list contains the most common structural patterns:
- Adapter
- Decorator
- Facade
- Proxy