Sobre a obra
Tudo aqui vem de um livro só, publicado em 1994 e nunca superado como catálogo.
Capa da edição original · imagem via Open Library
“Cada padrão descreve um problema que ocorre repetidamente em nosso ambiente, e então descreve o cerne da solução para esse problema, de tal modo que você pode usar essa solução um milhão de vezes, sem nunca fazê-la da mesma forma duas vezes.”
— Christopher Alexander, arquiteto — a epígrafe que abre o livro
- 23
- padrões
- 3
- famílias
- 99
- relações mapeadas
- 976
- linhas de exemplo
O que é, afinal, um padrão de projeto
Não é uma biblioteca nem um trecho de código pronto. É a descrição de uma solução recorrente para um problema recorrente — algo que você adapta ao seu contexto e que nunca sai igual duas vezes.
O maior valor prático talvez não seja nem a solução em si, mas o vocabulário: dizer “aqui cabe um Observer” comunica em duas palavras o que levaria dois parágrafos.
E vale o aviso que o próprio livro dá: padrão aplicado onde não existe o problema correspondente é apenas complexidade a mais.
Os quatro elementos essenciais
- Nome
- Um vocabulário compartilhado. Nomear bem já é metade do projeto.
- Problema
- Quando aplicar o padrão, e sob quais condições.
- Solução
- Os elementos, relações e colaborações — não uma implementação concreta.
- Consequências
- Os custos e benefícios. Todo padrão cobra um preço.
As cinco perguntas de uma ficha
Toda ficha deste guia responde às mesmas cinco perguntas, na mesma ordem. Não é invenção nossa: são cinco das treze seções do gabarito com que os próprios autores do livro descreveram cada padrão — Intent, Motivation, Structure, Applicability e Consequences. A sigla que as torna decoráveis vem do método D.E.D.A.C., do curso brasileiro Rabiscando Padrões de Projeto.
- D Definição
- O que o livro diz, palavra por palavra. Curto, formal e quase sempre obscuro na primeira leitura — é o destino, não o começo.
- E Exemplo e motivação
- A analogia, o problema concreto, a solução e os sintomas que denunciam esse problema no seu código. É aqui que o padrão faz sentido.
- D Diagrama
- As peças isoladas e como se ligam. Quem entende cada peça consegue adaptar o padrão em vez de copiá-lo. Cada diagrama pode ser visto sendo desenhado, traço a traço.
- A Aplicabilidade
- Quando pegar esta ferramenta — e quando não pegar. A pergunta mais útil no dia a dia, e a que mais some dos resumos por aí.
- C Consequências
- O que o padrão cobra depois de aplicado. Serve para você defender a decisão — ou para desistir dela a tempo.
Decorada a sequência, ela vale para qualquer padrão, inclusive os que não estão neste catálogo.
Como usar este guia
- Nunca estudou padrões
- Comece pela aula no papel com o Strategy e siga a trilha.
- Tem um problema concreto
- Vá direto a estou com este problema.
- Confunde dois padrões
- O capítulo confunde-se com… existe exatamente para isso.
- Quer o panorama
- O mapa de relações mostra como os 23 se conectam.
- Estuda para entrevista
- Use a arguição.
Para ir além
- Design Patterns (GoF, 1994) — a fonte. Denso, formal, definitivo.
- Head First Design Patterns — a porta de entrada mais didática.
- Refactoring, de Martin Fowler — padrões como destino de refatorações.
- Patterns of Enterprise Application Architecture — o catálogo do lado servidor.
- refactoring.guru — referência online com ótimas ilustrações.
Colofão
Composto na linguagem do estilo suíço: uma única grotesca — a Archivo — cobre texto, título e rótulo, em pesos diferentes; a JetBrains Mono fica restrita a código e identificadores técnicos. Ângulo reto em tudo, filete preto de 2 px, e cor chapada só quando significa alguma coisa: a família do padrão, um estado, uma ênfase.
Os diagramas não são imagens: são gerados a partir de uma descrição declarativa da estrutura de cada padrão, e o mesmo motor produz tanto a prancha técnica impressa nas fichas quanto o traço à mão livre da aula no papel.
Construído com Astro e componentes React sobre primitivos Base UI, sem framework de CSS.