| Abstract Factory | Create objects without knowing details |
| Builder | Uses a virtual creation method |
| Factory Method |
| Prototype | Allows cloning |
| Singleton | Allows a maximum of one class to be created |
| Adapter | Provides interface by inheriting from object |
| Bridge | Decouples functionality using an abstract interface |
| Facade | Provide classes to hide set of complex classes |
| Flyweight | Provides interface by agregating object |
| Proxy | Provides interface by agregating object |
| Composite | All tree objects have the same interface |
| Decorator | Add functionality to a class without modifying it |
| Chain of Responsibility | |
| Command | Decouple functionality using abstract interface of another class |
| Memento | Similar to serialization |
| Observer | Similar to Listener or Callback |
| State | Provides state encapsulation |
| Interpreter | Compiler |
| Iterator | Sequential access |
| Mediator | Similar to Facade |
| Strategy | Similar to Bridge |
| Template | Calls overridable function |
| Visitor | Functionally split classes |