April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF: Observer Professores Eduardo Bezerra –

Slides:



Advertisements
Apresentações semelhantes
Padrões de Projeto Mediator.
Advertisements

APSI III Aline Vasconcelos
April 05 Prof. Ismael H. F. Santos - 1 Programação Banco de Dados em Java Prof. Ismael H F Santos.
Módulo III Padrões GOF: Composite
April 05 Prof. Ismael H. F. Santos - 1 Programação Web com Java Prof. Ismael H F Santos.
Programação OO em Java Intermediário
Módulo III Padrões GOF-VI: MVC
April 05 Prof. Ismael H. F. Santos - 1 Frameworks e Padrões de SW Prof. Ismael H F Santos.
April 05 Prof. Ismael H. F. Santos - 1 Programação OO em Java Básico Prof. Ismael H F Santos.
April 05 Prof. Ismael H. F. Santos - 1 Módulo VI – J ava Standard Template Library (JSTL) Prof. Ismael H F Santos.
Módulo III Padrões GOF: Command
April 05 Prof. Ismael H. F. Santos - 1 Modulo II – Tópicos em Java – Relatórios Prof. Ismael H F Santos.
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF:FactoryMethod Professores Eduardo Bezerra –
Eduardo Bezerra Padrões GoF Eduardo Bezerra
April 05 Prof. Ismael H. F. Santos - 1 Módulo II Introdução a XML DTD Prof. Ismael H F Santos.
Padrões GoF – Factory Method
Eduardo Bezerra Padrões GoF Eduardo Bezerra
Modulo I Padrões GRASP Professores
April 05 Prof. Ismael H. F. Santos - 1 Módulo II XML Processing: XSLT, SAX e DOM Prof. Ismael H F Santos.
Módulo I Padrões de Projeto GoF
Observer Mantendo seus objetos atualizados
Engenharia de Software
April 05 Prof. Ismael H. F. Santos - 1 Módulo IVb - JSP Prof. Ismael H F Santos.
Módulo III Padrões GOF Professores
Chain of Responsibility
Linguagens Orientadas a Objeto
Estruturas de Dados e Algoritmos 2006 – º Semestre
Integração com Banco de Dados
Introdução a Desenvolvimento de Sistemas
Adriano S. Castro André Abdalla
Prof. Mateus Raeder Professor.unisinos.br/mraeder
Acoplamento e Coesão Modelagem e Programação Orientada a Objetos
Introdução Eduardo Figueiredo 04 de Março de 2010 POOAula 01 ou
April 05 Prof. Ismael H. F. Santos - 1 Módulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra –
Padrões de Design Toacy Cavalcante de Oliveira. 2 April 20, 2015 Problema.
Laboratório I Mateus Raeder. Mateus Raeder – março de 2010 Apresentação da disciplina  Professor: Mateus Raeder  Contato:  Página.
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF: Singleton, Professores Eduardo Bezerra –
Padrões de Projeto Abstract Factory.
April 05 Prof. Ismael H. F. Santos - 1 Modulo II Framework of Integrated Test - Fit Professor Ismael H F Santos –
April 05 Prof. Ismael H. F. Santos - 1 Modulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra –
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF: Iterator Professores Eduardo Bezerra –
Abstract Factory Pattern Algumas aplicações precisam criar objetos de classes que podem mudar ex: elementos de um sistema GUI. –Diferentes padrões precisam.
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF: Memento Professores Eduardo Bezerra –
April 05 Prof. Ismael H. F. Santos - 1 Modulo IV Padrões Core J2EE Professores Eduardo Bezerra –
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF: AbstractMethod Professores Eduardo Bezerra –
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF: Strategy Professores Eduardo Bezerra –
April 05 Prof. Ismael H. F. Santos - 1 Módulo V- Modelo MVC-Web Prof. Ismael H F Santos.
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF: State Professores Eduardo Bezerra –
Laboratório I Mateus Raeder. Mateus Raeder – fevereiro de 2009 Apresentação da disciplina  Professor: Mateus Raeder  Contato:
1 Padrões: Bridge (p. 151) Objetivo: separar uma abstração de sua implementação Sinônimos: Handle/Body.
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
April 05 Prof. Ismael H. F. Santos - 1 Modulo II – Tópicos em Java - Ant Prof. Ismael H F Santos.
April 05 Prof. Ismael H. F. Santos - 1 Modulo II – Tópicos em Java – Generics Prof. Ismael H F Santos.
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Introdução a XML Prof. Ismael H F Santos.
Modelagem Orientada a Objetos Especialização em Engenharia de Software PUCPR 1999.
April 05 Prof. Ismael H. F. Santos - 1 Modulo V Frameworks Professores Eduardo Bezerra –
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF-II: Iterator e Composite Professores Eduardo Bezerra –
CURSO DE ESPECIALIZAÇÃO
CURSO DE ESPECIALIZAÇÃO EM TECNOLOGIA JAVA DESIGN PATTERNS Prof. Cesar Augusto Tacla UTFPR/Campus Curitiba.
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.
REFATORAÇÃO JOÃO LACERDA DJALMA LIMA. MARTIN FOWLER É um autor conhecido na área de arquitetura de software, especializado em análise orientada a objetos,
Padrões de Projeto Aula 4 – Padrão Observer. PADRÃO OBSERVER Como manter objetos atualizados quando algo importante ocorre? Padrões de Projeto - Observer.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Programação Orientada a Objetos Plano da Disciplina Ludimila Monjardim Casagrande 1º Semestre
Delegação  É uma maneira de tornar a composição tão poderosa para fins de reutilização como a herança. Na delegação, dois objetos são envolvidos no tratamento.
Padrões de Projeto de Criação Padrões de Projeto Orientados a Objetos Prof a. Danielle Martin Universidade de Mogi das Cruzes.
Introdução a Padrões de Projeto Padrões de Projeto Orientado a Objetos Profa. Danielle Martin Universidade de Mogi das Cruzes.
Programação Orienta a Objetos (SI) Análise e Projetos de Sistemas (LCC) 1 - Introdução a Padrões de Projeto Eduardo de Lucena Falcão.
1 Introdução aos Padrões de Projetos (na prática) Créditos: Adaptações: Prof. Nécio de Lima Veras.
Padrões Comportamentais Preocupam-se com algoritmos e a atribuição de responsabilidades entre objetos. Descrevem padrões de comunicação entre os objetos.
Transcrição da apresentação:

April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF: Observer Professores Eduardo Bezerra – Ismael H F Santos –

Julho 06 Prof(s). Eduardo Bezerra & Ismael H. F. Santos 2 Ementa Padrões GOF Observer

Julho 06 Prof(s). Eduardo Bezerra & Ismael H. F. Santos 3 Eric Gamma, et ali, Padrões de Projeto, Ed Bookman Martin Fowler, Analysis Patterns - Reusable Object Models, Addison-Wesley,1997 Martin Fowler, Refatoração - Aperfeiçoando o projeto de código existente, Ed Bookman Bibliografia

Julho 06 Prof(s). Eduardo Bezerra & Ismael H. F. Santos 4 Livros Core Java 2, Cay S. Horstmann, Gary Cornell Volume 1 (Fundamentos) Volume 2 (Características Avançadas) Java: Como Programar, Deitel & Deitel Thinking in Patterns with JAVA, Bruce Eckel Gratuito.

Julho 06 Prof(s). Eduardo Bezerra & Ismael H. F. Santos 5 Observer POO-Java

Julho 06 Prof(s). Eduardo Bezerra & Ismael H. F. Santos 6 Observer Existem situações onde diversos objetos mudam seu estado de acordo com a mudança de estado de outro objeto. e.g. as views e o model no framework MVC Define uma relação de dependência 1:N entre objetos, de tal forma que, quando um objeto (assunto) tem seu estado modificado, os seus objetos dependentes (observadores) são notificados. Assunto  subject Observadores (objetos dependentes)  observers

Julho 06 Prof(s). Eduardo Bezerra & Ismael H. F. Santos 7 Observer (motivação) Exemplo clássico

Julho 06 Prof(s). Eduardo Bezerra & Ismael H. F. Santos 8 Observer (estrutura)

Julho 06 Prof(s). Eduardo Bezerra & Ismael H. F. Santos 9 Observer (exemplo de interação) getState() aListViewanInfoViewaFile notify() Attach() “foo” setState(“foo”) update()

Julho 06 Prof(s). Eduardo Bezerra & Ismael H. F. Santos 10 Observer em Java public class Observable extends Object { Collection observers; public void addObserver(Observer o); public void deleteObserver(Observer o); public boolean hasChanged(); public void notifyObservers(); public void notifyObservers(Object arg); … } public abstract interface Observer { public abstract void update(Observable o, Object arg); } public class Subject extends Observable{ public void setState(String filename); public string getState(); }

Julho 06 Prof(s). Eduardo Bezerra & Ismael H. F. Santos 11 Observer (aplicabilidade) Quando uma abstração tem dois aspectos, um dependente do outro. Encapsulando-se esses aspectos em objetos separados fará com que se possa variá-los e reusá-los independentemente; Quando uma mudança em um objeto requer uma mudança em outros, e não se sabe como esses outros objetos efetivamente fazem suas mudanças; Quando um objeto deve poder notificar outros objetos sem assumir nada sobre eles. Dessa forma evita-se que os objetos envolvidos fiquem fortemente acoplados.

Julho 06 Prof(s). Eduardo Bezerra & Ismael H. F. Santos 12 Observer (conseqüências) Possibilita baixo acoplamento entre os objetos dependentes (os observadores) e o assunto. Acoplamento Abstrato Suporte para broadcast Dificuldade em saber o que foi mudado?