Baixe o app para aproveitar ainda mais
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.
Compartilhar