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.

Entradas relacionadas: