Padrões de Projeto
TL;DR
Um catálogo de consulta de padrões de projeto e de arquitetura de aplicação, para o sênior de plantão — inclusive (e especialmente) em sistemas legados. Não é uma trilha linear: é um repertório onde se procura um padrão. Cada nota é autocontida, mostra o padrão em Java, TypeScript, Python e Go (comentando como a linguagem muda ou dissolve o padrão) e traz uma seção Armadilhas reforçada sobre quando NÃO usar — o ângulo que quase ninguém cobre.
Sobre este galho
Os padrões estão organizados em famílias, por fonte e por escala. As seis estão completas — 90 notas (2026-07-28 a 31), cada uma com uma lente própria: cross-linguagem (GoF) · cross-ORM (Acesso a Dados) · cross-ferramenta (EIP) · arqueológica (Aplicação Corporativa) · acoplamento (Eventos) · sacrifício (Resiliência). Como é catálogo de consulta, alguma redundância com outros galhos do vault (Comunicação, Cloud, Operação) é aceitável e desejada: o catálogo não pode depender de galhos que evoluem em ritmo próprio.
Este índice é o herdeiro do antigo monólito
Design Patterns.md(aposentado em 2026-07-28). O alias Design Patterns resolve para cá.
Famílias
| # | Família | Fonte | Estado |
|---|---|---|---|
| 1 | Clássicos (GoF) | Gang of Four (1994) | ✅ completa — 23 notas |
| 2 | Acesso a Dados | Fowler PoEAA + J2EE + NoSQL/cloud | ✅ completa — 15 notas |
| 3 | Integração Empresarial (EIP) | Hohpe & Woolf | ✅ completa — 14 notas |
| 4 | Aplicação Corporativa | Fowler PoEAA (não-dados) | ✅ completa — 14 notas |
| 5 | Arquitetura de Eventos | Fowler (4 estilos) + Richardson | ✅ completa — 10 notas |
| 6 | Nuvem e Resiliência | Azure Cloud Design Patterns + Nygard | ✅ completa — 14 notas |
Estado detalhado e rosters em roadmap do galho-pai.
A lente do catálogo
Muitos padrões do GoF são contornos para lacunas das linguagens de 1994. Onde a linguagem moderna
preenche a lacuna — funções de primeira classe (Strategy vira função), pattern matching (mata o
Visitor), módulos (o Singleton evapora), argumentos nomeados (dispensa o Builder) —, o padrão
encolhe, às vezes até sumir. E o outro lado: o framework frequentemente já implementou o
padrão por você (@Transactional é Proxy, @Service é Facade). Reconhecer os dois movimentos é o
que separa aplicar um padrão de empilhar cerimônia.
Comece por: O que são Design Patterns.
Fronteiras (linka, não duplica)
- Princípios que os padrões materializam → SOLID (OCP, DIP).
- OO como craft → Orientação a Objetos.
- Forma macro do sistema (serviços, fronteiras) → Arquitetura.
Recursos
Livros
- Design Patterns: Elements of Reusable Object-Oriented Software — Gamma, Helm, Johnson, Vlissides (GoF, o clássico dos 23).
- Head First Design Patterns — Freeman & Robson (acessível, didático).
- Patterns of Enterprise Application Architecture — Martin Fowler (padrões de aplicação, base das famílias 2 e 4).
- Enterprise Integration Patterns — Hohpe & Woolf (base da família 3).
- Refactoring — Martin Fowler (quando aplicar padrões via refactoring).
- Effective Java — Joshua Bloch (Item 1 static factory; Item 2 Builder; Item 3 Singleton; Item 13 clone).
Online
- Refactoring Guru — Design Patterns — catálogo visual com exemplos em várias linguagens.
- Source Making — Design Patterns — descrições práticas.
- Azure Architecture — Cloud Design Patterns — base da família 6.
Veja também
- Design de Software — o domínio.
- SOLID · Orientação a Objetos
- Arquitetura — a forma macro do sistema.