trabalho de adapter.docx

3
INSTITUTO FEDERAL DE EDUCAÇÃO CIENCIA E TECNOLOGIA CAMPUS CAJAZEIRAS - PB ALUNO: RODOLFO ROCHA DA COSTA Plugglable Uma classe é mais reutilizável quando você minimiza as suposições que outras classes devem fazer para utilizá-la. O plugglable é um termo usado pelo Smalltalk para descrever classes com adaptação de interfaces incorporadas. Exemplo: Numa hierarquia de diretório, os descendentes podem ser acessados com uma operação GetSubdirectories, enquanto que numa hierarquia de herança, a operação 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 adaptação de interface incorporada a ele. Exemplos de diagrama:

Upload: rodolfoyalana

Post on 02-Feb-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Trabalho de ADAPTER.docx

INSTITUTO FEDERAL DE EDUCAÇÃO CIENCIA E TECNOLOGIA

CAMPUS CAJAZEIRAS - PB

ALUNO: RODOLFO ROCHA DA COSTA

Plugglable

Uma classe é mais reutilizável quando você minimiza as suposições que outras classes devem fazer para utilizá-la. O plugglable é um termo usado pelo Smalltalk para descrever classes com adaptação de interfaces incorporadas.

Exemplo: Numa hierarquia de diretório, os descendentes podem ser acessados com uma operação GetSubdirectories, enquanto que numa hierarquia de herança, a operação 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 adaptação de interface incorporada a ele.

Exemplos de diagrama:

Page 2: Trabalho de ADAPTER.docx

Vantagens:

Ele permite o acoplamento fraco entre a API que você exponha e o código subjacente

que se comunica com os diversos backends. O acoplamento também torna extensível e

backends adicionais podem ser escritas sem a necessidade de tocar o código da

aplicação real.

Desvantagens:

A maior fraqueza é, provavelmente, a perda de funcionalidade. Suponha BackendA tem

algumas características impressionantes que não são 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 solução de menor

denominador comum.

Two-way Adapter

O adaptador de dois sentidos (two-way adapters) pode fornecer transparência para todos os clientes, onde, um objeto adaptado não oferece a interface do objeto original, por isso ele não 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.

Page 3: Trabalho de ADAPTER.docx

A solução 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.