Você está na página 1de 3

INSTITUTO FEDERAL DE EDUCAO CIENCIA E TECNOLOGIA

CAMPUS CAJAZEIRAS - PB
ALUNO: RODOLFO ROCHA DA COSTA

Plugglable
Uma classe mais reutilizvel quando voc minimiza as suposies que outras
classes devem fazer para utiliz-la. O plugglable um termo usado pelo
Smalltalk para descrever classes com adaptao de interfaces incorporadas.
Exemplo: Numa hierarquia de diretrio, os descendentes podem ser acessados
com uma operao GetSubdirectories, enquanto que numa hierarquia de
herana, a operao correspondente poderia ser chamada GetSubclasses. Ele
deveria ser capaz de exibir ambos os tipos de hierarquias ainda que usem
interfaces diferentes, ou seja, ter uma adaptao de interface incorporada a ele.
Exemplos de diagrama:

Vantagens:
Ele permite o acoplamento fraco entre a API que voc exponha e o cdigo subjacente
que se comunica com os diversos backends. O acoplamento tambm torna extensvel e
backends adicionais podem ser escritas sem a necessidade de tocar o cdigo da
aplicao real.
Desvantagens:
A maior fraqueza , provavelmente, a perda de funcionalidade. Suponha BackendA tem
algumas caractersticas impressionantes que no so suportados por BackendB - no
interesse de manter uma interface consistente voc est preso quer sair esses recursos
para fora ou implement-las se em AdapterB. Isso geralmente uma soluo de menor
denominador comum.

Two-way Adapter
O adaptador de dois sentidos (two-way adapters) pode fornecer transparncia
para todos os clientes, onde, um objeto adaptado no oferece a interface do
objeto original, por isso ele no pode ser usado para oferecer a interface do
objeto original.
Vantagem: dois clientes diferentes podem ver um objeto de forma diferente.
Adaptador de duas vias pode ser acessado a via ITarget / class de interface, bem
como a interface adaptee.

A soluo envolve o uso de um adaptador de classe ConstaintStateVariable de


dois sentidos, uma subclasse tanto de StateVariable como de ConstaintVariable
que adapta as duas interfaces uma outra.

Você também pode gostar