Design Patterns
Patterns são abstrações de implementação de código que a Gang of Four (Erich Gamma, John Vlissides, Ralph Johson e Richard Helm) compilou em um livro clássico Design Patterns: Elements of Reusable Object-Oriented. Atualmente temos 23 padrões fundamentais e mais de 80 padrões conhecidos derivados dos 23 originais.
O objetivo de um pattern é não reinventar a roda e precisam ser conhecidos para otimizar o desenho de soluções na hora de iniciar um projeto ou feature.
TODO - O curso não abarca todos eles então vou ter que preencher as lacunas por conta própria depois.
Temos um agrupamento dos patterns em famílias:
- Creational Patterns - Foco na criação de objetos
- Abstract Factory
- Builder
- Factory Method
- Prototype
- Singleton
- Structural Patterns - Foco na composição de objetos
- Adapter x
- Bridge
- Composite x
- Decorator
- Facade x
- Flyweight
- Proxy
- Behavioral Patterns - Foco na interação e comunicação entre objetos
- Chain of Responsibility
- Command x
- Interpreter
- Iterator
- Mediator
- Memento
- Observer x
- State
- Strategy x
- Template Method
- Visitor
TODO - Reproduzir o diagrama da última pagina do livro mostrando a relação de todos os patterns