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

Slides:



Advertisements
Apresentações semelhantes
UML no CICLO de DESENVOLVIMENTO
Advertisements

Projeto de Sistemas de Software(PSS) Baldoino F. dos S. Neto
Padrão de Projeto Composite
Adapter.
Minicurso PHP – Parte 2 João Paulo Ribeiro jpribeiro.com
PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof
Orientação a Objetos Parte I
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
POO II JEAN CARLO MENDES
© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 1 Reuso de Software.
Padrão Composite Definição
Jobson Ronan Padrões GoF Jobson Ronan
Equipe: Bruno Barbosa Felipe Fernandes Waleska Dias.
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
Aula 5 – Padrão Decorator
Diagrama de Classes Herança Dependências.
Padrões de Projeto Aula 9 – Padrão Adapter.
Padrões de Projeto Aula 3 – Padrão Strategy.
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
TÉCNICO EM INFORMÁTICA Linguagem e Técnica de Programação III PROF. MARCELO N. SANTOS
Wireshark Captura de Protocolos da camada de aplicação Captura de Protocolos da camada de aplicação Maicon de Vargas Pereira Maicon de Vargas Pereira.
COMPONENTE DE GERAÇÃO DE BOLETOS BANCÁRIOS EM DELPHI Aluno: Jonas Ricardo Viel Prof. Adilson Vahldick - Orientador.
OS – Cadastrar Ordem de Serviço. OBJETIVO: Cadastrar ordem de serviço para clientes sem que seja necessário efetuar uma venda ( semelhante ao orçamento,
Programação em Java JButton e Tratamento de Eventos Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
Programação em Java Threads Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
Operadores lógicos Em ocasiões que consideramos mais de uma expressão, podemos usar os operadores lógicos para unir essas expressões. Determinados casos,
Façade Definição: Quando usar? Tipo de padrão? Como? estrutural.
"Você acha que conhece a pessoa, aí você percebe que era tudo fachada
Polimorfismo e suas aplicações em C++.
Strategy Definição: Quando usar? Tipo de padrão? Como?
Padrões de Projeto Estruturais
(baseado em slides de ex-alunos)
Introdução OO.
Plano de liberação do Software UNI MAPS
Introdução a Linguagem Java
Introdução Java.
PROGRAMAÇÃO ORIENTADA A OBJETO - JAVA
3.1 Classes e Objetos Em um programa orientado a objetos normalmente existem vários objetos de um mesmo tipo. Por exemplo, um programa de controle de.
Projeto de PLP (2006.1) Extensão da Linguagem OO1
Java: Interfaces Alcides Calsavara.
Singleton e Template Method
Aula 9 – Padrão Decorator
Introdução à programação orientada por objetos
Testes e Qualidade de Software
Adapter Definição: Quando usar? Tipo de padrão? Como?
Edson Susumu Asaga JavaBeans Edson Susumu Asaga
Elisabeth Suescún Leandra Mara da Silva
Padrão Command Encapsulando a chamada de métodos com o padrão Command.
4 CONCEITOS BÁSICOS EM POO
MAC Tópicos de POO Secret Partner Pattern / Facet
Elaborando as Interfaces dos trabalhos das aulas 28, 29 e 30.
Wrappers.
Programação Orientada a Objetos*
Rosemary Silveira Filgueiras Melo
3.2 Sobrecarga de Métodos (Overloading)
Rosemary Silveira Filgueiras Melo
Rosemary Silveira Filgueiras Melo
Programação Orientada a Objetos
Programação Orientada a Objetos
Laboratório I Mateus Raeder.
Estruturas de Dados em C
Exercício sobre Interface Java
Estruturas definidas pelo programador
Ordenando Coleções A Classe Collections.
RESULUÇÃO DOS EXERCÍCIOS E
JAVA - BÁSICO COL. ESTADUAL MARIA AGUIAR TEIXEIRA
Programação de Computadores II
Transcrição da apresentação:

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

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

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

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.

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.

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.

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.

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.

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

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.

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

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