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.