Anda di halaman 1dari 2

Strategy

Criar classe para designar comportamento.


Pode mudar em tempo real.
Redu��o de l�gica condicional
C�digo mais legivel.
C�digo mais complexo.
Dificuldade de gerenciamento.

Singleton
instancia dentro da classe estatica, como construtor privado,e metodo obter
instancia publico.Garante
que apenas uma unica copia seja usada no sistema.
Acesso controlado a instancia.
Dificil pra testar.

Template Method
M�todos abstratos(obrigat�rios e fixos), e m�todos concretos(opcionais e
v�riaveis)(hook methods).
Evita duplica��o.
Reaproveita o c�digo comum.
Uma classe que precise de comportamento de duas outras classes s� poder�
fazer o uso de heran�a para uma delas.

Factory Method
Cria uma fabrica abstrata que cria um obejto abstrato, cada uma dessas tem um
respectivo concreto.
Em tempo real decide oque vai criar.
Baixo acoplamento.
Maior flexibilidade.
Aumento do n�mero de classes e complexidade.

Abstract Factory
Cria uma fabrica abstrata que tem filhos que s�o f�bricas concretas.
Diminui dependencia entre aplica��o e as subclasses.
F�brica concreta para cada tipo de objeto.
� facil de adicionar uma nova familiar de objetos.
Dificil de adicionar um novo objeto.

Null Object
Cria um objeto que possui os valores que o objeto teria se repasse um certo
parametro nulo.
Resolve problema do tratamento de valores nulos em qualquer ponto da
aplica��o que utilize a classe.
Cliente n�o � modificado.
O tratamento n�o fica explicito no c�digo e pode gerar confus�o.

Bridge
Cria uma ponte entre duas hierarquias ligadas por uma rela��o de composi��o
permitindo que ambas variem
de forma independente. (composi��o com hierarquia na parte compondo e na
parte composta)
Aumento do desacoplamento e do reuso.
Tornam independentes os fatores que podem v�riar na solu��o.
As classes separadas podem ser usadas em outro contexto.
Ocultam detalhes de implementa��o.
Aumento da complexidade na cria��o do objeto.
Aumento do n�mero de classes.

Observer
Composi��o de um com multiplos objetos. � aplicavel quando existe um objeto
cujos eventos precisam
ser observados por outros objetos(dados de uma pesquisa mostrado em diversos
gr�ficos que podem v�riar).
Permite que objetos registrem dinamicamente suas dependencias de outros
objetos.
Permite atualizar um conjunto de objetos quando um certo objeto sofrer
modifica��o.
A possibilidade de demora na execu��o de um observador pode influenciar na
velocidade de notifica��o
dos outros.

State
Permite a mudan�a de estado de um objeto dinamicamente. Mais util quando a
mudan�a de estado provoca
a mudan�a de comportamento.
� um strategy dinamico.
Cada estado pode ter um comportamento especifico, mas � possivel dar um
padrao tambem atr�ves da classe
estado que � pai de todos os estados.
Mudan�as de estados e adi��o de novos estados ficam diretas.
Mais um caso de delega��o inv�s de heran�a.
Uso avan�ado de polimorfismo.
Uma subclasse de state ter� conhecimento de pelo menos uma outra, o que
aumenta o acoplamento.

Adapter
Adapta uma classe ja existente atrav�s de uma classe adaptadora para suprir
as necessidades de uma demanda(interface).
Utiliza uma classe ou mais classes que adaptam a classe alvo para ser usada.
Objetos podem ser usados atrav�s de uma readapta��o de suas interfaces.
Cliente n�o � afetado.
Aumento no n�mero de classes e interfaces.