Structural
Patterns about how objects and classes are composed into larger structures without making those structures rigid.
Why we need this / what value this brings
Lets you compose simple objects into larger structures flexibly, instead of building one large rigid class that does everything.
When to use this
When you need to combine, wrap, or simplify access to existing objects without modifying them.
How to use or implement this
Pick based on the specific relationship needed: mismatched interfaces (Adapter), decoupling abstraction from implementation (Bridge), tree structures (Composite), adding behavior (Decorator), simplifying a subsystem (Facade), sharing state to save memory (Flyweight), or controlling access (Proxy).
Subtopics
Empty folder — drop notes, links, and findings here as you research.