Structural
Patterns that deal with object composition, creating relationships between entities to form larger structures while keeping them flexible and efficient.
Core Patterns
7
Implementations
14
Avg. Reliability
—
Coming SoonAdapter
Converts the interface of a class into another interface that clients expect, allowing incompatible interfaces to work together.
Decorator
Attaches additional responsibilities to an object dynamically by wrapping it in decorator objects that share the same interface.
Facade
Provides a simplified, unified interface to a complex subsystem, hiding its internal complexity from clients.
Proxy
Provides a surrogate or placeholder for another object to control access, add lazy initialization, caching, logging, or access control.
Composite
Composes objects into tree structures to represent part-whole hierarchies, letting clients treat individual objects and compositions uniformly.
Bridge
Decouples an abstraction from its implementation so that the two can vary independently.
Flyweight
Minimizes memory usage by sharing fine-grained objects that represent repeated data, storing intrinsic state once and passing extrinsic state at call time.