There are 23 design patterns in total (23 classic Design Patterns, although at least 26 Design Patterns have been discovered to date), categorized into three groups:
- Practical Creational Patterns: 5 patterns
- Practical Structural Patterns: 7 patterns
- Practical Behavioral Patterns: 11 patterns
These patterns provide various object creation mechanisms, which increase flexibility and reuse of existing code.
These patterns explain how to assemble objects and classes into larger structures while keeping these structures flexible and efficient.
These patterns are concerned with algorithms and the assignment of responsibilities between objects.
- Chain of Responsibility
- Command
- Iterator
- Mediator
- Memento
- Observer (Fun fact: PubSub pattern is distributed -- asynchronous and many-to-many version of observer)
- State
- Strategy
- Template Method
- Visitor
- https://refactoring.guru/design-patterns
- https://www.youtube.com/playlist?list=PL-CtdCApEFH_yiziXrQeogYOJzCmD8XLM
- https://www.youtube.com/watch?v=tv-_1er1mWI
- https://www.dicoding.com/blog/design-pattern/
- https://www.linkedin.com/learning/node-js-design-patterns
- https://en.wikipedia.org/wiki/Software_design_pattern