DevDocsDev Docs
Design PatternsStructural Patterns

Structural Patterns

Patterns that deal with object composition and relationships

Structural Patterns

Structural design patterns explain how to assemble objects and classes into larger structures while keeping these structures flexible and efficient.

The Patterns

Quick Comparison

PatternIntentComplexityFrequency
AdapterMake incompatible interfaces work together⭐⭐Very Common
BridgeSeparate abstraction from implementation⭐⭐⭐Common
CompositeCompose objects into trees⭐⭐Common
DecoratorAdd responsibilities dynamically⭐⭐Common
FacadeSimplify complex subsystemsVery Common
FlyweightShare common state efficiently⭐⭐⭐Less Common
ProxyControl access to objects⭐⭐Common

When to Use Which?

Key Relationships

On this page