Este curso apresenta todos os 23 padrões de projeto (design patterns) do livro "Design Patterns" do "Gang of Four" (Gamma, Helm, Johnson, Vlissides) e os ilustra com exemplos e exercícios. Os exercícios ajudam na descoberta e distinção dos padrões de projeto. O curso é dividido em cinco partes, cada um tratando de um grupo de padrões que possuem propósitos semelhantes.
Conhecer os 23 GoF Design Patterns é disciplina obrigatória a qualquer desenvolvedor Java. Conhecendo padrões de projeto tradicionais, o desenvolvedor terá mais facilidade em compreender sistemas como frameworks e aplicações que usam os padrões, como diversas aplicações open-source existentes. Poderá analisar e debater esses sistemas em um nível de abstração mais alto proporcionado pelo vocabulário de padrões que terá aprendido. Este curso aprofunda e solidifica o conhecimento dos alunos em relação à análise e design orientado a objetos, permite que se familiarizem mais rapidamente com qualquer sistema, e encontrem soluções com maior facilidade. Promove o reuso, desacoplamento e coesão do software produzido, e contrubui para melhorar a sua qualidade.
Dependendo da duração do curso, a parte prática pode ocupar de 30 a 50% do tempo de treinamento (24 ou 32 horas). Na versão completa, um exercício aplicando cada padrão apresentado é proposto. Na versão mais curta, exercícios são propostos em padrões selecionados.
Ao final deste curso, o aluno deverá ter condições de
- Identificar os 23 padrões de projeto "clássicos" e saber como implementá-los em Java
- Decidir entre padrões que podem ser aplicados em determinado cenário e seu custo-benefício
- Identificar cenários potenciais para aplicação de padrões em suas aplicações Java
- Identificar padrões de projeto já existentes em suas aplicações, em frameworks e aplicações de terceiros
- Comunicar-se com maior clareza empregando no seu vocabulário os nomes dos 23 padrões
- Parte 1 - Introdução a padrões de projeto
- Parte 2 - Interfaces
- Introdução
- 1. Adapter
- 2. Facade
- 3. Composite
- 4. Bridge
- Parte 3 - Responsabilidades
- Introdução
- 5. Singleton
- 6. Observer
- 7. Mediator
- 8. Proxy
- 9. Chain of Responsibility
- 10. Flyweight
- Parte 4 - Construção
- Introdução
- 11. Builder
- 12. Factory Method
- 13. Abstract Factory
- 14. Propotype
- 15. Memento
- Parte 5 - Operação
- Introdução
- 16. Template Method
- 17. State
- 18. Strategy
- 19. Command
- 20. Interpreter
- Parte 6 - Extensão
- Introdução
- 21. Decorator
- 22. Iterator
- 23. Visitor
- Parte VI - Estudos de caso
- Combinação de padrões
- Model-View-Controller (MVC)
- Padrões na API Java e em Frameworks populares