Structural Patterns
Structural patterns deal with object composition and structure, helping to ensure that when parts of a system change, the entire structure doesn't need to change.
Patterns
- Decorator - Add responsibilities to objects dynamically
- Adapter - Convert interface of class into another interface
- Facade - Provide unified interface to subsystem
- Composite - Compose objects into tree structures
- Proxy - Provide surrogate or placeholder for another object
- Bridge - Decouple abstraction from implementation so both can vary independently
- Flyweight - Share fine-grained objects to reduce memory usage