Adapter/Wrapper: Adapter realizes interfaces, uses method of external class
Bridge: Hierarchy of abstractions and implementations
Facade: Unified, simplified interface to complex operations involving multiple classes
Decorator: Dynamically add/remove methods to an object
Flyweight: Large number of object required, where information is shared
Composite: Tree-structure to represent part-whole hierarchies (treat part and whole uniformly)
Proxy: Class acting as interface to something else.