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íliaFonteEstado
1Clássicos (GoF)Gang of Four (1994)completa — 23 notas
2Acesso a DadosFowler PoEAA + J2EE + NoSQL/cloudcompleta — 15 notas
3Integração Empresarial (EIP)Hohpe & Woolfcompleta — 14 notas
4Aplicação CorporativaFowler PoEAA (não-dados)completa — 14 notas
5Arquitetura de EventosFowler (4 estilos) + Richardsoncompleta — 10 notas
6Nuvem e ResiliênciaAzure Cloud Design Patterns + Nygardcompleta — 14 notas

Estado detalhado e rosters em roadmap do galho-pai.

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)

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

Veja também