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

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

Singleton Definição: Quando usar? Tipo de padrão? Como? estrutural.

Apresentações semelhantes


Apresentação em tema: "Singleton Definição: Quando usar? Tipo de padrão? Como? estrutural."— Transcrição da apresentação:

1 Singleton Definição: Quando usar? Tipo de padrão? Como? estrutural

2 Soluções simples para problemas reais!
POO Adapter “A incapacidade de se adaptar traz a destruição. “ - Bruce Lee Prof. Eduardo Falcão

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

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.

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.

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. Hoje começaremos pela definição.

7 Terminologia e Estrutura – Object Adapter
O adaptador (Adapter) implementa a interface alvo (Target). O cliente (Client) vê apenas a interface alvo (Target). A interface-alvo será sempre a entidade com quem o cliente consegue conversar. Neste caso, queremos adaptar tomada de dois pinos para tomada de 3 pinos, logo, o adaptado é “TomadaDeDoisPinos”. O adaptador, por sua vez, sempre implementará a interface alvo e terá por composição o Adaptado. O adapator, então, delegará funções para o adaptado. O adaptador (Adapter) é composto com o Adaptado. Todas as requisições são delegadas aos adaptados (Adaptee). 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.

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

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.

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

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


Carregar ppt "Singleton Definição: Quando usar? Tipo de padrão? Como? estrutural."

Apresentações semelhantes


Anúncios Google