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.
