Design Patterns:
Creational patterns (Singleton, Factory, Abstract Factory, Builder, Prototype)
Structural patterns (Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy)
Behavioral patterns (Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor)