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

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

Padrões de Projeto Aula 12 – Padrão Adapter. PADRÃO ADAPTER Soluções simples para problemas reais! 2.

Apresentações semelhantes


Apresentação em tema: "Padrões de Projeto Aula 12 – Padrão Adapter. PADRÃO ADAPTER Soluções simples para problemas reais! 2."— Transcrição da apresentação:

1 Padrões de Projeto Aula 12 – Padrão Adapter

2 PADRÃO ADAPTER Soluções simples para problemas reais! 2

3 O que fazer? 1.Trocar a tomada  será que vale apena quebrar a parede? 2.Comprar um novo carregador no padrão europeu  Não deve ser barato... 3.Comprar um adaptador!  #seemslegit 3

4 Adaptadores e OO Situação: sua empresa compra uma biblioteca “X” que você precisará usar no seu sistema. Mas, as interfaces não são compatíveis... O que fazer? – Nota 1: a biblioteca “X” vêm compilada; – Nota 2: você deseja evitar alterações no código do sistema; Adiciona um adaptador entre elas. – Torna as interfaces compatíveis e respeita o princípio aberto-fechado. 4

5 O que é um adaptador? Um instrumento que transforma uma interface em outra. – Em outras palavras, permite que dois ou mais componentes de software troquem informação mesmo com interfaces incompatíveis. 5

6 Definição O padrão Adapter converte a interface de uma classe para outra interface que o cliente espera encontrar. O Adaptador permite que classes com interfaces incompatíveis trabalhem juntas. 6

7 Terminologia e Estrutura – Object Adapter O cliente (Client) vê apenas a interface alvo (Target). O adaptador (Adapter) é composto com o Adaptado. O adaptador (Adapter) implementa a interface alvo (Target). Todas as requisições são delegadas aos adaptados (Adaptee). 7 O Adapter contém o Adaptee por composição.

8 Prática I Baixe o código do projeto TomadasPadrãoBrasileiro em edufalcao.me/designpatterns. – No main, instancie um carregador antigo (conector de 2 pinos) e o conecte em uma tomada modelo antigo (de 2 pinos); #rasgado – No main, crie um carregador novo (conector de 3 pinos) e o conecte em uma tomada modelo antigo (de 2 pinos), sem alterar o código existente. 8

9 Exemplos de Adapters JSDK API: Wrappers de tipos em Java – Double, Integer, Character, etc. "Adaptam" tipos primitivos à interface de java.lang.Object. 9

10 Terminologia e Estrutura – Class Adapter O class adapter é implementado com herança múltipla. A “herança múltipla pura”, A extends B,C,D não é suportada em java. Mas uma classe pode herdar de uma classe e implementar várias classes, uma maneira peculiar que uma classe pode usar para ser “filha” de várias outras. 10

11 Prática II Refaça o adaptador que fizemos em sala utilizando o modelo “Class Adapter”. É simples! 11

12 Referências – [1] Capítulo 7 do livro “Padrões de Projeto – Use a Cabeça!” 12


Carregar ppt "Padrões de Projeto Aula 12 – Padrão Adapter. PADRÃO ADAPTER Soluções simples para problemas reais! 2."

Apresentações semelhantes


Anúncios Google