O padrão adapter cria uma ponte
(não confundir com bridge) entre
um output e input diferentes.
Bridge
O padrão bridge cria uma abstração da
representação existente no projeto, ou seja, ao
invez de se criar um unico tipo de função, se criar
variações dessa função por sua abstração
Facade
Para facilitar o
empapsulamento e as
responsabilidades de cada
classe, o padrão facade
abstrai e "administra" os
componentes necessarios
para aquele comportamento
Uma interface para outras interfaces do sistema
Ajuda a diminuir a complexidade
O que vc precisa?
Composite
O composite agrupa os objetos parte-do-todo e
trata os mesmo sem destinção
O padrão tem a ideia de decompor cada membro
Nesse exemplo, cada operação é decomposta
Responsabilidade
Singleton
Para evitar que sejam criados varios objetos
do mesmo tipo desnecessariamente, o padrão
singleton cria o objeto uma unica vez e quando
necessario o recupera
Aumenta a funcionalidade
Com isso, não há perda de memória
Observer
Para objetos que mudam de estado, o padrão Observer oferece a
solução de que ao invez de monitorar os estados, o propio objeto
anuncia sua mudança
Para que procurar se vc vai me avisar?
Proxy
O padrão proxy tem a ideia de preservação
do objeto, assim para não utiliza-lo
diretamente, um outro objeto se faz
intermédio.
Chain of responasability
Faz com que os objetos fiquem em cadeia até que eles possam ser ordenados
Olha a fila!!!!!
Flyweight
Compartilhar de forma
eficiente, objetos de grande
quantidade de acessos
Imagine o quanto se perde para acessar
um objeto de cada vez se ele é muito
requisitado
Mediator
Centraliza a responsabilidade
das conmunicações entre classes
Construção
Builder
Assim como o composite, o padrão builder
desmembra os elementos de construção do
objeto e o constroi em partes, assim pode
ocorrer variações no objeto
Fast food por exemplo!
Factory Method
O padrão encapsula a classe
contrutora para permitir que cada
variação de construção tenha seu
encapsulamento
O construtor escolhe o que é melhor!!
Abstract Factory
Multiplica o padrão factory para famílias, ou
seja, cada tipo de variação tem sua subvariação
Pense assim! O factory method apenas envia o
que é necessario, porém o abstract envia e
recebe
Maquinas de
cartão de credito é
um exemplo
Prototype
Usando a ideia de template (clone), este
padrão a partir de um objeto ja criado, cria
outro do mesmo tipo porém com variações
Imagine criar uma nova
variação de um objeto já
existente
Memento
Este padrão faz com que o proprio objeto
salve seu estado anterior, assim caso ocorra
algum erro, é possível dar ROLLBACK
UNDO the operation!
Comportamentais
Template Method
Definir a ordem na qual determinados passos devem ser realizados na resolução de
um problema e permitir que esses passos possam ser realizados de formas
diferentes de acordo com a situação.
Assim como o Builder,
porém voltado para o
comportamento
Como um empresa
State
A partir de um contexto, o objeto deve mudar
Taximetro!
Command
Controlar as chamadas a um determinado
componente, modelando cada requisição
como um objeto
Strategy
O padrão permite a variação
do algoritimos para variados
problemas
Imagine ter um algoritimo que resolve variados problemas de um contexto
Iterpreter
Criar diversas interpretações para uma linguagem
A música
Extensão
Decorator
Adicionar
funcionalidade a um
objeto dinamicamente.
Na hora!
Composite Dinamico
iterator
Percorre uma coleção
de objetos sem expor
Sem ferir o encapsulamento
Visitor
Permite atualização para cada tipo especifico de objeto
Imagine atualizar somente os salários dos contadores!