Skip to main content

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