Design patterns are reusable solutions to common software design and development problems. They provide a template to common scenarios. 23 design patterns were introduced in the Design Patterns: Elements of Reusable Object-Oriented Software book.
In this section, each design pattern’s core idea, where it is used, and how it is implemented is explained.
3 types:
- Creational
- Builder Pattern
- Singleton Pattern
- Factory Pattern
- Abstract Factory Pattern
- Prototype Pattern
- Structural
- Adapter Pattern
- Bridge Pattern
- Composite Pattern
- Decorator Pattern
- Facade Pattern
- Flyweight Pattern
- Proxy Pattern
- Behavioral
- Chain of Responsibility Pattern
- Command Pattern
- Interpreter Pattern
- Iterator Pattern
- Mediator Pattern
- Momento Pattern
- Observer Pattern
- Strategy Pattern
- State Pattern
- Template Method Pattern
- Visitor Pattern