- Design patterns are common architectural approaches
- Popularized by Gang of Four book (1994)
- Universallly relevant
- Internalized in some programming languages
- Libraries
- Single Responsibility Principle (SRP)
- Open/Close Principle (OCP)
- Liskov Substitution Principle (LSP)
- Inteface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- Builder
- Factories
- Abstract Factory
- Factory Method
- Prototype
- Singleton
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
- Chain of Responsibility
- Command
- Interpretor
- Mediator
- Memento
- Null Object
- Observer
- State
- Strategy
- Template Method
- Visitor