Adapter
Converting one interface to another.
Decorator
Adding behavior dynamically without subclassing.
Facade
Providing a simplified interface to a complex subsystem.
Proxy
Controlling access to another object.
Composite
Treating individual and composite objects uniformly.
Bridge
Decouple abstraction from implementation.
Flyweight
Share common state across many objects.