Os padrões de projeto (design patterns) servem para nos auxiliar nas resoluções de problemas, da forma mais elegante e otimizada possível.
Estes padrões unem anos de experiência em desenvolvimento de software, adquiridos por diversos designer e arquitetos de softwares.
São soluções que resistiram ao tempo e demonstraram sua eficiência no quesito de usabilidade, flexibilidade, escalabilidade e manutenção.
"Você não escolhe um design pattern, o design pattern escolhe você."
Os padrões de projetos são classificados da seguinte forma:
- Padrões de Criação.
- Padrões Estruturais
- PadrõesComportamentais.
⚒️ | Padrões Criacionais | Variações. | Ligado com a criação de objetos |
---|---|---|---|
☝🏻 | Singleton | Tradicional, Monostate, Lazy Instantiation, MetaCLass. | Ter um e somente um objeto de determinado tipo. |
🏭 | Factory | Simple Factory, Polymorphic Factory Method, Abstract Factory. | Ter uma 'Fabrica' (classe) responsável por criar objetos de outros tipos. |
🧬 | Padrões Estruturais | Variações. | Como objetos e classes podem se combinar para compor estruturas maiores. |
---|---|---|---|
🤵🏻 | Facade | Princípio do Conhecimento Mínimo, Lei de Demeter | Realiza a intermediação do cliente com os subsistemas, criando uma "Fachada" (interface) entre essas entidades. |
🕵️ | Proxy | Proxy Virtual, Proxy Remoto, Proxy de Proteção, Proxy Inteligente - Em construção... | Em construção... |
-
Aprendendo Padrões de Projeto em Python - Novatec Editora (3 outubro 2016).
-
Padrões de Projetos: Soluções Reutilizáveis de Software Orientados a Objetos.
Projeto em construção.