Design pattern (Selection)

1. Creation
1.1 Factory
1.2 Singleton
1.3 Dependency injection
1.4 Objectpool … is a pool of already initialized objects, like a thread pool


2. Structure
2.1 Adapter
2.2 Decorator
2.3 Proxy
2.4 Composite
2.5 Facade … combines multiple interfaces to reduce the complexity


3. Behavior
3.1 Observer
3.2 State
3.3 Visitor
3.4 Iterator … iterates over sequences of objects, like the iterator in the STL