A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Padrão Adapter Projeto de Sistemas de Software(PSS) Baldoino F. dos S. Neto.

Apresentações semelhantes


Apresentação em tema: "Padrão Adapter Projeto de Sistemas de Software(PSS) Baldoino F. dos S. Neto."— Transcrição da apresentação:

1 Padrão Adapter Projeto de Sistemas de Software(PSS) Baldoino F. dos S. Neto

2 © LES/PUC-Rio Propósito Converte a interface de uma classe em outra interface, esperada pelos clientes. O Adapter permite que classes com interfaces imcompatíveis trabalhem em conjunto – o que, de outra forma, seria impossível

3 © LES/PUC-Rio Motivação Suponha que você tem um sistema que usa o componente A Seu sistema Componente A Interfaces compatíveis

4 © LES/PUC-Rio Motivação Porém o fornecedor do componente A faliu… Você precisa utilizar o componente de outro fornecedor Seu sistema Componente A

5 © LES/PUC-Rio Motivação Porém, o fornecedor do componente B oferece uma interface incompatível com o seu sistema Seu sistema Componente B Interfaces incompatíveis

6 © LES/PUC-Rio Motivação Para não correr riscos, você cria um adaptador Seu sistema Interfaces compatíveis Adaptador Componente B Interfaces compatíveis Sem alteração de código Código novo

7 Aplicabilidade Utilizamos quando: –Desejamos utilizar uma classe existente e sua interface não combina com o que precisamos ; –Desejamos criar uma classe reutilizável que coopere com classes que apresentam interfaces incompatíveis. © LES/PUC-Rio

8 Estrutura © LES/PUC-Rio

9 Estrutura © LES/PUC-Rio

10 Participantes Target –Define a interface específica do domínio que o cliente utiliza. Client –Interage com objetos de acordo com a interface Target. Adaptee –Define uma interface existente que precisa ser adaptada. Adapter –Adapta a interface de Adaptee para Target © LES/PUC-Rio

11 Colaborações Cliente invoca operações de Adaptee através de uma instância de Adapter. © LES/PUC-Rio

12 Conseqüências Class Adapter –Permite que Adapter substitua algum comportamento de Adaptee, uma vez que Adapter é uma subclasse de Adaptee; –Adapta Adaptee para Target através do uso efetivo de uma classe Adaptee concreta. Em conseqüência, um adaptador de classe não funcionará quando quisermos adaptar uma classe e todas as suas subclasses. Object Adapter –Permite que um único Adapter trabalhe com vários Adaptee. Logo, Adapter pode acrescentar funcionalidade a todos os Adaptee de uma só vez; –Torna mais difícil redefinir um comportamento de Adaptee. Ele exigirá a criação de subclasses de Adaptee e fará com que Adapter referencie a subclasse ao invés de Adaptee em si.

13 Exemplo © LES/PUC-Rio

14 Exemplo

15 Fim!!


Carregar ppt "Padrão Adapter Projeto de Sistemas de Software(PSS) Baldoino F. dos S. Neto."

Apresentações semelhantes


Anúncios Google