Um guia visual dos
23 padrões
de projeto
O catálogo da Gangue dos Quatro, de 1994, explicado com analogias do mundo real, diagramas desenhados passo a passo e código comentado.
“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
Criacionais
Como os objetos nascem.
Abstraem o processo de instanciação. Tornam o sistema independente de como seus objetos são criados, compostos e representados. A pergunta que respondem é: “quem decide qual classe concreta usar, e quando?”
- Abstract Factory Fábrica Abstrata p. 87
Uma fábrica de fábricas: cria famílias inteiras de objetos combináveis.
- Builder Construtor p. 97
Monta objetos complexos passo a passo — o mesmo processo gera representações diferentes.
- Factory Method Método Fábrica p. 107
A superclasse define o esqueleto; a subclasse decide qual objeto criar.
- Prototype Protótipo p. 117
Criar copiando um objeto existente, sem depender da classe dele.
- Singleton Singleton p. 127
Uma única instância na aplicação inteira, com ponto de acesso global.
Estruturais
Como os objetos se encaixam.
Tratam da composição de classes e objetos para formar estruturas maiores, mantendo tudo flexível e eficiente. A pergunta: “como monto peças grandes a partir de peças pequenas sem colar tudo?”
- Adapter Adaptador p. 139
Traduz a interface de uma classe para outra que o cliente já espera.
- Bridge Ponte p. 151
Separa abstração de implementação para que as duas variem sem multiplicar classes.
- Composite Composto p. 163
Trate objetos individuais e grupos de objetos exatamente da mesma forma.
- Decorator Decorador p. 175
Empilhe comportamentos em tempo de execução, envolvendo o objeto em camadas.
- Facade Fachada p. 185
Uma porta de entrada simples para um subsistema complicado.
- Flyweight Peso-Mosca p. 195
Compartilhe a parte imutável entre milhões de objetos e economize memória.
- Proxy Procurador p. 207
Um substituto com a mesma cara, que controla o acesso ao objeto real.
Comportamentais
Como os objetos conversam.
Preocupam-se com algoritmos e com a atribuição de responsabilidades entre objetos. Descrevem não só padrões de objetos, mas padrões de comunicação entre eles. A pergunta: “quem faz o quê, e como um avisa o outro?”
- Chain of Responsibility Cadeia de Responsabilidade p. 223
Passe o pedido por uma fila de handlers até que um deles resolva.
- Command Comando p. 233
Transforme uma requisição em objeto — e ganhe fila, log, undo e agendamento de graça.
- Interpreter Interpretador p. 243
Cada regra da gramática vira uma classe que sabe se avaliar.
- Iterator Iterador p. 257
Percorra uma coleção sem saber como ela é feita por dentro.
- Mediator Mediador p. 273
Objetos param de falar entre si e passam a falar com um intermediário.
- Memento Lembrança p. 283
Salve e restaure o estado de um objeto sem violar seu encapsulamento.
- Observer Observador p. 293
Um objeto avisa automaticamente todos os interessados quando algo muda.
- State Estado p. 305
O objeto parece mudar de classe quando seu estado interno muda.
- Strategy Estratégia p. 315
Vários algoritmos intercambiáveis para a mesma tarefa, escolhidos em tempo de execução.
- Template Method Método Modelo p. 325
A superclasse fixa o esqueleto; as subclasses preenchem os buracos.
- Visitor Visitante p. 331
Adicione operações novas a uma hierarquia de classes sem alterá-las.
Nenhum padrão corresponde à busca. Talvez o que você procura esteja em Estou com este problema.