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
Muito usado em instancia de banco de dado,
para evitar criar mais de uma conexão
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!