How classes and objects are composed into larger structures: Adapter, Bridge, Composite, Decorator, Facade and Proxy — and the pairs that are easy to confuse.
| Pattern | One-line intent |
|---|---|
| Adapter | Translate one interface into another a client expects |
| Bridge | Separate an abstraction from its implementation so both vary independently |
| Composite | Represent part-whole hierarchies so leaves and composites look alike |
| Decorator | Attach responsibilities dynamically by wrapping an object |
| Facade | Provide a simpler entry point to a complex subsystem |
| Proxy | Control access to another object through the same interface |
| Pair | The distinguishing question |
|---|---|
| Proxy vs Decorator | Same structure — Proxy controls access, Decorator adds responsibilities |
| Adapter vs Bridge | Adapter is applied after the fact; Bridge is designed in up front |
| Facade vs Adapter | Facade simplifies an interface; Adapter converts one interface to another |
| Composite vs Decorator | Composite composes many children; Decorator wraps exactly one component |
The lecture's own summary table names these three as the structural patterns covered.