There are 23 different known design patterns, and they can be separated into three categories by purpose:
- Creational Patterns: used to construct objects such that they can be decoupled from their implementing system
- Structural Patterns: used to form large object structures between many disparate objects
- Behavioral Patterns: used to manage algorithms, relationships, and responsibilities between objects
- Creational :
Abstract Factory
Builder
Factory Method
Prototype
Singleton - Structural:
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy - Behavioral:
Command
Interpreter
Iterator
Mediator
Memento
Observer
State
Strategy