Guia de Padrões de Projeto: Estruturais e Comportamentais
Classificado em Computação
Escrito em em
português com um tamanho de 2,94 KB
Façade (Fachada)
Provê uma interface unificada para um conjunto de interfaces de um subsistema. Define uma interface de mais alto nível que torna o subsistema mais fácil de manipular.
Exemplos:
- Recuperação de objetos do banco;
- Agrupamento de funções complexas.
Flyweight
Usado para compartilhamento para suportar grandes quantidades de objetos. É utilizado quando a aplicação utiliza um grande número de objetos e o custo para armazenar é alto.
Proxy
É um substituto para controlar o acesso a outro objeto. Utilizado toda vez que houver a necessidade de uma referência mais versátil ou sofisticada do que um simples ponteiro para um objeto.
Interpreter
Define uma representação para uma gramática. Usado quando for criar um compilador. Converte uma gramática para outra sem perder o sentido; só muda o que está sendo visualizado.
Template Method
Define o esqueleto de um algoritmo em uma operação, definindo alguns passos para as subclasses.
- Permite que subclasses redefinam certos passos de algum algoritmo sem mudar a estrutura do algoritmo;
- Utilizado para implementar a parte que não varia de um algoritmo.
Chain of Responsibility
Evita o acoplamento do remetente de uma solicitação. Usado quando se deseja emitir uma solicitação para vários objetos, sem especificar o receptor.
Command
Serve para encapsular uma requisição como um objeto. Utilizado para automação residencial. Exemplo: vários comandos em um só interruptor.
Iterator
Fornece um meio de acessar sequencialmente os elementos de um objeto agregado (listas) sem expor a sua representação subjacente. É útil quando você quer acessar o conteúdo de uma coleção sem expor a sua representação interna.
Mediator (Mediar)
Serve para interceptar e distribuir; receber e enviar para todos. Define um objeto que encapsula a forma como um conjunto de objetos interage.
- Promove o acoplamento fraco ao evitar que os objetos se refiram explicitamente uns aos outros;
- O reuso de um objeto é difícil porque ele referencia e se comunica com muitos outros objetos.
Memento
Sem violar o encapsulamento, captura e externaliza o estado interno de um objeto, de forma que ele possa ser recuperado depois. Uma "fotografia" (parte) do objeto precisa ser salva para que possa ser recuperada posteriormente.
Observer
Se um objeto mudar de estado, todos os outros têm que mudar. Uma mudança em um objeto requer mudanças em outros objetos, especialmente quando você não sabe quantos objetos serão modificados.
State
Serve para que um objeto mude o seu comportamento quando o seu estado interno mudar.