Este repositório foi usado para reciclar os conhecimentos em Design Patterns.
Mas também está público para poder ajudar a qualquer pessoa que deseja aprender um pouco mais sobre Design Patterns.
Ele engloba todos os 23 Design Patterns criado pelo GOF - Gang dos 4 caboclos.
- Erich Gamma
- John Vlissides
- Richard Helm
- Ralph Johnson
Para desenvolver os exemplos, foi estudado com mais de uma referência:
- Curso Udemy em PT-BR, achei fraco e nem vou citar o nome dele para não se decepcionarem. Tinha muitos cursos em muitas línguas, mas o que ecolhi em português, fui infeliz, fraco, exemplos ruins.
- Youtube, achei vários vídeos interessantes em diversas linguagens, mas nenhum bem estruturado que fosse do início ao fim com todos os patterns. Exemplos também muito repetidos.
- Site: https://refactoring.guru/ este achei sensacional, com boa explicação, diagramas, exemplos, etc. Tudo que eu estudava, confirmava se no site estava de encontro. No site, só senti falta do
Interpreter
- Outros sites, acabei lendo bastante coisa por aí, para verificar diferente pontos de vistas, e outros exemplos.
Em grande parte dos exemplos, criei uma exemplificação do Pattern com base no que entendi, exceto um ou outro que não consegui pensar em um exemplo melhor didático e acabei utilizando o mesmo problema apresentado na fonte.
A solução está dividida em 2 projetos:
- Projeto de Console DesignPatternsConsole: Apenas para fazer as chamadas dos Patterns e mostrar em tela, praticamente ele representa o Cliente que consome o Pattern.
- Projeto DesignPatternsLibrary: Onde está a implementação de cada Pattern separado por pastas, ou melhor, namespaces.
Cada pasta que contém seu Design Pattern, tem um arquivo README.MD, que explica um pouco sobre ele. Aqui tentei colocar diversas formas de síntese, inclusive resumir minha compreensão.
Os Design Pattens estão divididos em 3 grupos com 23 design de soluções:
- Creational Pattern
- Structure Pattern]
- Behavioral Pattern