Adapter.

Slides:



Advertisements
Apresentações semelhantes
Soluções elegantes para problemas recorrentes
Advertisements

Orientação a objetos identidade abstração classificação encapsulamento
Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Diagrama de Classes.
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INTERFACES Prof. Thiago Pereira Rique
H ERANÇA E P OLIMORFISMO Prof. Thiago Pereira Rique
Perspectivas baseadas em procedimentos e orientadas por objectos Conceitos principais: Encapsulamento, Herança, Polimorfismo (Encapsulation, Hierarchy,
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
Projeto de Sistemas de Software(PSS) Baldoino F. dos S. Neto
Padrões de Projeto Adapter.
Modelagem Orientada a Objetos
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
Mapeamento Objeto Relacional
1 Introdução aos padrões de projeto (GoF) Conceitos preliminares –Mecanismos de herança –Princípio de Substituição de Liskov –Acoplamento concreto x Acoplamento.
Abstract Factory Intenção: fornecer uma interface comum para a criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes.
Eduardo Bezerra Padrões GoF (State) Eduardo Bezerra
Padrões GoF – Factory Method
Introdução ao paradigma de programação: Orientado a Objetos
Linguagem de Programação II
Linguagem de Programação II
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Programação Orientada a Objetos
MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Classes e objetos P. O. O. Prof. Grace.
Polimorfismo em C#.
Strategy e Template Method
Nazareno Andrade (baseado no material de Hyggo Almeida)
Padrões de projeto detalhados Factory Method, Abstract Factory
Programação Orientada à Objetos
Oberdan B. Ferreira Polimorfismo Oberdan B. Ferreira
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Métodos de Construção de Software: Orientação a Objetos
Estudo de Caso: um editor de documentos
Professora Lucélia Oliveira
Marcio de Carvalho Victorino
Arquitetura de Sistemas Distribuídos
Herança em POO Importante:
SISTEMAS DISTRIBUIDOS Aula 4
Aula prática 14 Orientação a Objetos – C++ Parte 2
Análise Orientado aos Objetos Prof. Wolley W. Silva
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Classes Abstratas P. O. O. Prof. Ângela e Grace.
POO II JEAN CARLO MENDES
Diagrama de Colaboração. Diagramas de Interação Expressam informações bastante similares porém de maneira diferente Diagrama de seqüência: – Interação.
Generalização e herança Agregação e composição
Análise e Projeto de Sistemas
Bruno Inojosa MCP .NET Framework
©André Santos, Programação Funcional Tipos Algébricos André Santos.
Introdução a Programação Orientada a Objetos
CONEXÕES DE SABERES Amirton Chagas – Paola Accioly –
Jobson Ronan Padrões GoF Jobson Ronan
Introdução a Orientação a Objetos
20/04/2017 Orientação a Objetos 1 1.
Módulo II Capítulo 1: Orientação a Objetos
Relacionamentos UML e Polimorfismo
PADROES DE PROJETO PROF. OSIEL MARLON. PADRÕES DE PROJETO INTRODUÇÃO Padrões de projeto têm emergido como uma das mais promissoras abordagens para a melhoria.
4 CONCEITOS BÁSICOS EM POO Dilvan Moreira.  Objetos  Classes  Herança  Polimorfismo Lembrando: 4 Conceitos Básicos.
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
Herança. É o compartilhamento de características entre classes com base em um relacionamento hierárquico. – Possibilita a derivação de tipos mais específicos.
Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui.
Aula 5 – Padrão Decorator
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Diagrama de Classes Herança Dependências.
Padrões de Projeto Aula 9 – Padrão Adapter.
Padrões de Projeto Aula 10 – Padrão Façade.
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Padrões de Projeto Aula 5 – Padrão Decorator 1. QuickReview: Observer Definição: Quando usar? Tipo de padrão? Como? 2.
Padrões de Projeto Aula 12 – Padrão Adapter. PADRÃO ADAPTER Soluções simples para problemas reais! 2.
Jean Carlo mendes
Transcrição da apresentação:

Adapter

Adapter Intenção: adaptar um objeto preexistente para uma interface específica com a qual um outro objeto espera se comunicar. Solução: Definir uma classe que serve como um adaptador e que age como um intermediário entre o objeto e seus clientes (utilizar herança ou composição). O adaptador traduz comandos do cliente para o fornecedor e os resultados do fornecedor para o cliente. Implementação: Encapsular a classe preexistente em uma outra classe. O adaptador define a interface desejada e ativa os métodos da classe encapsulada.

Adapter (estrutura)

Adapter (exemplo) Como encaixar (adaptar) XXCircle à hierarquia de Shape?

Adapter (exemplo) Não posso usar XXCircle diretamente porque quero preservar o comportamento polimórfico em Shape. Diferentes nomes e listas de parâmetros XXCircle não deriva de Shape Solução: definir uma classe Circle que sirva como um adaptador para XXCircle. Circle deriva de Shape Circle contém XXCircle Circle repassa mensagens enviadas para ele diretamente para XXCircle.

Adapter (exemplo)

Adapter (aplicabilidade) Quando se quer usar uma classe já existente e sua interface não combina com a esperada pelo cliente; Quando se quer criar uma classe reutilizável que coopera com classes não relacionadas ou não previstas, isto é, classes que não necessariamente tenham interfaces compatíveis; Quando se necessita usar várias classes existentes, mas é impraticável adaptar através da transformação de suas interfaces para transformá-las em subclasses de uma mesma classe.

Adapter (conseqüências) Adapta a classe Adaptee à BaseClasse pelo comprometimento com a classe concreta Adapter. Como resultado, a classe Adapter não funcionará quando se quiser adaptar uma classe e todas as suas subclasses; Um único objeto Adapter trabalha com várias classes Adaptee Quer dizer, a própria classe Adaptee e todas as suas subclasses (se houver). O objeto Adapter pode adicionar funcionalidades a todas as classes Adaptee de uma só vez.