Buscar

Padrões de Projetos - Adapter

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
Unipar - Universidade Parananes - Prof. Jemerson Fernando Maia - Padrões de Proejtos
*
Adapter
(Adaptador)
Estrutural / Objeto e Classe
UNIPAR – Universidade Paranaense 
Prof. Jemerson Fernando Maia
Padrões de Projetos e Frameworks
Toledo - Pr - 08/2014
Unipar - Universidade Parananes - Prof. Jemerson Fernando Maia - Padrões de Proejtos
*
Unipar - Universidade Parananes - Prof. Jemerson Fernando Maia - Padrões de Proejtos
*
Descrição
Intenção:
Converter a interface de uma classe em outra interface esperada pelo cliente. Permite que classes com interfaces incompatíveis possam colaborar.
Também conhecido como:
Wrapper.
*
*
Unipar - Universidade Parananes - Prof. Jemerson Fernando Maia - Padrões de Proejtos
*
O problema
*
Existe uma ferramenta gráfica de texto
pronta, mas o programa de desenho só
trabalha com formas.
*
Unipar - Universidade Parananes - Prof. Jemerson Fernando Maia - Padrões de Proejtos
*
A Solução
*
FormaTexto adapta a classe pronta à
interface esperada pelo programa de
desenho.
*
Unipar - Universidade Parananes - Prof. Jemerson Fernando Maia - Padrões de Proejtos
*
Estrutura – Padrão de objeto
*
*
Unipar - Universidade Parananes - Prof. Jemerson Fernando Maia - Padrões de Proejtos
*
Analogia
*
*
Unipar - Universidade Parananes - Prof. Jemerson Fernando Maia - Padrões de Proejtos
*
Usar este padrão quando...
você quer usar uma classe já pronta que possui uma interface diferente da que você precisa;
você quer criar uma classe reutilizável já prevendo que a situação acima ocorrerá no futuro.
*
*
Unipar - Universidade Parananes - Prof. Jemerson Fernando Maia - Padrões de Proejtos
*
Vantagens e desvantagens
Adapter de Classe:
Permite que o adaptador sobrescreva algumas funções do adaptado.
Não funciona bem quando se quer adaptar uma hierarquia de classes;
*
*
Unipar - Universidade Parananes - Prof. Jemerson Fernando Maia - Padrões de Proejtos
*
Vantagens e desvantagens
Adapter de Objeto:
Permite o uso de um único adaptador para uma hierarquia de classes adaptadas;
É mais difícil sobrescrever funções do adaptado.
*
*
Unipar - Universidade Parananes - Prof. Jemerson Fernando Maia - Padrões de Proejtos
*
Exemplos em Java
As classes envoltório (Integer, Boolean, Float, etc.);
Adaptadores de eventos de interface gráfica (AWT/Swing):
java.awt.MouseAdapter adapta java.awt.MouseListener a uma interface mais simples.
*
*
Unipar - Universidade Parananes - Prof. Jemerson Fernando Maia - Padrões de Proejtos
*
Exercício
*
Na classe Iterar, dentro do método main existe o código ao lado, um Map 
contendo chaves e valores. Essa classe possui também um método 
chamado iterar que recebe um objeto que implemente a interface Iterator. 
Para obter a lista de chaves e valores do HashMap deve ser chamado os 
métodos keys() e elements() respectivamente conforme acima. Mas esses
métodos retornam uma Enumeration. Mostre as chaves e valores do HashMap
no método iterar criando um adapatador para a interface Enumeration.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando