Design patterns
A pattern is a problem that repeats over and over again. A design pattern is a pattern in the context of software design, this is, the process of designing a new system to fulfill some requirements. At it’s core, a design pattern is the explanation of a common problem and it’s general solution.
When talking about design patterns, we can classify them by its main motivation/scope:
- Creational: class and object creation
- Create a system that works independently of how its classes and objects are created.
- Structural: class and object composition
- How classes and objects are composed to create larger and more complex structures.
- Behavioral: class and object interaction
- Describe algorithms, communication protocols, etc, using classes and objects to encapsulate this knowledge and behaviors.
Full list of patterns, as described in Design Patterns book, is the following:
- Creational
- 20210408135700 Design Patterns - Abstract Factory
- 20210408140129 Design Patterns - Builder
- 20210408140411 Design Patterns - Factory method
- 20210408140623 Design Patterns - Prototype
- 20210408140834 Design Patterns - Singleton
- Structural
- 20210408151152 Design Patterns - Adapter
- 20210408151453 Design Patterns - Bridge
- 20210408162622 Design Patterns - Composite
- 20210408162826 Design Patterns - Decorator
- 20210408163210 Design Patterns - Facade
- 20210408163425 Design Patterns - Flyweight
- 20210408163731 Design Patterns - Proxy
- Behavioral
- 20210409010723 Design Patterns - Chain of Responsibility
- 20210409011035 Design Patterns - Command
- 20210409011350 Design Patterns - Interpreter
- 20210409011714 Design Patterns - Iterator
- 20210409011957 Design Patterns - Mediator
- 20210409012134 Design Patterns - Memento
- 20210409012439 Design Patterns - Observer
- 20210409012631 Design Patterns - State
- 20210409012916 Design Patterns - Strategy
- 20210409013041 Design Patterns - Template Method
- 20210409013309 Design Patterns - Visitor
Notes References
20210408132439 Computer science