Structural Patterns
How to assemble objects and classes into larger structures while keeping these structures flexible and efficient.
Table of Contents
- Adapter: Allows objects with incompatible interfaces to collaborate.
- Bridge: Lets you split a large class or a set of closely related classes into two separate hierarchies—abstraction and implementation—which can be developed independently.
- Composite: Lets you compose objects into tree structures and then work with these structures as if they were individual objects.
- Decorator: Lets you attach new behaviors to objects by placing these objects inside special wrapper objects that contain the behaviors.
- Facade: Provides a simplified interface to a library, a framework, or any other complex set of classes.
- Flyweight: Lets you fit more objects into the available amount of RAM by sharing common parts of state between multiple objects instead of keeping all of the data in each object.
- Proxy: Lets you provide a substitute or placeholder for another object.