Sobre a obra
Tudo aqui vem de um livro só, publicado em 1994 e nunca superado como catálogo.
“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.
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 em Source Serif 4 para o texto corrente, IBM Plex Sans nos rótulos e IBM Plex Mono nas listagens de código.
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.