Um guia visual dos
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
- 23
- padrões
- 3
- famílias
- 62
- relações
- 976
- linhas de exemplo
- 9
- formas de navegar
- 1994
- ano da obra
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?”
- 87 Abstract Factory Fábrica Abstrata Uma fábrica de fábricas: cria famílias inteiras de objetos combináveis.
- 97 Builder Construtor Monta objetos complexos passo a passo — o mesmo processo gera representações diferentes.
- 107 Factory Method Método Fábrica A superclasse define o esqueleto; a subclasse decide qual objeto criar.
- 117 Prototype Protótipo Criar copiando um objeto existente, sem depender da classe dele.
- 127 Singleton Singleton 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?”
- 139 Adapter Adaptador Traduz a interface de uma classe para outra que o cliente já espera.
- 151 Bridge Ponte Separa abstração de implementação para que as duas variem sem multiplicar classes.
- 163 Composite Composto Trate objetos individuais e grupos de objetos exatamente da mesma forma.
- 175 Decorator Decorador Empilhe comportamentos em tempo de execução, envolvendo o objeto em camadas.
- 185 Facade Fachada Uma porta de entrada simples para um subsistema complicado.
- 195 Flyweight Peso-Mosca Compartilhe a parte imutável entre milhões de objetos e economize memória.
- 207 Proxy Procurador 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?”
- 223 Chain of Responsibility Cadeia de Responsabilidade Passe o pedido por uma fila de handlers até que um deles resolva.
- 233 Command Comando Transforme uma requisição em objeto — e ganhe fila, log, undo e agendamento de graça.
- 243 Interpreter Interpretador Cada regra da gramática vira uma classe que sabe se avaliar.
- 257 Iterator Iterador Percorra uma coleção sem saber como ela é feita por dentro.
- 273 Mediator Mediador Objetos param de falar entre si e passam a falar com um intermediário.
- 283 Memento Lembrança Salve e restaure o estado de um objeto sem violar seu encapsulamento.
- 293 Observer Observador Um objeto avisa automaticamente todos os interessados quando algo muda.
- 305 State Estado O objeto parece mudar de classe quando seu estado interno muda.
- 315 Strategy Estratégia Vários algoritmos intercambiáveis para a mesma tarefa, escolhidos em tempo de execução.
- 325 Template Method Método Modelo A superclasse fixa o esqueleto; as subclasses preenchem os buracos.
- 331 Visitor Visitante 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.