Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouThomaz Esteves de Paiva Alterado mais de 8 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.