Created by Bruna Silva
over 8 years ago
|
||
Fornece uma interface de família de objetos relacionados ou dependentes
Separa a construção de um objeto complexo da sua representação
Define uma interface para criar um objeto, mas deixa as subclasses decidirem qual classe a ser instanciada
Especifica os tipos de objetos a serem criados usando uma instância prototipica e cria novos objetos copiando esse protótipo
Garante que uma classe tenha somente uma instancia e fornece um ponto global de acesso para ela
Converte a interface de uma classe em outra interface esperada pelos clientes
Separa uma abstração da sua implementação, de modo que as duas podsam variar independentemente
Compoe objetos em estrutura de arvore para representar hierarquias do tipo partes-todo
Atribui responsabilidades adicionais a um objeto dinamicamente.
Fornece uma interface unificada para um conjunto de interfaces em um subsistema.
Usa compartilhamento para suportar grandes quantidades de obejtos, de granularidade fina de maneira eficiente.
Fornece um objeto representante ou um marcador de outro objeto, para controlar o acesso ao mesmo.
Evita o acoplamento do remetente de uma solicitação ao seu destinatário, dando a mais de um objeto a chance de tratar a solicitação.
Encapsula uma solicitação como um objeto, desta forma permitindo que você parametrize clientes com diferentes solicitações.
Dada uma linguagem, define uma representação para sua gramática juntamente com um interpretador
Fornece uma maneira de acessar sequencialmente os elementos de uma agregação de objetos sem expor sua representação subjacente
Define um objeto que encapsula a forma como um conjunto de objetos interage
Sem violar o encapsulamento, captura e externaliza um estado interno de um objeto, de modo que o mesmo possa posteriormente ser restaurado para este estado
Define uma dependência um paramuitos entre objetos, de modo que, quando um objeto muda de estado, todos os seus dependentes são automaticamente notificados e atualizados.
Permite que um objeto altere seu comportamento quando seu estado interno muda.
Define uma família de algoritmos, encapsula cada um deles e os torna intercambiáveis
Define o esqueleto de um algoritmo em uma operação, postergando a definição de alguns passos para subclasses
Representa uma operação a ser executada sobre os elementos da estrutura de um objeto.