Observer DOC

5022 palavras 21 páginas
Observer
Não vamos seguir a apresentação do livro GoF aqui, pois há críticas sobre a solução dada
Falaremos das críticas à frente
2 Seguiremos a apresentação dada por Bill Venners em http://www.javaworld.com/topicalindex/jw-ti-techniques.html (The 'event generator' idiom)
3 Em particular, apresentaremos como este padrão é implementado em Java
Portanto, além de um Design Pattern (que não depende de linguagem), apresentaremos um "Idioma Java" que mostra como implementar um Design Pattern numa linguagem particular
Problema
Como acoplar objetos entre si:
De forma a que não se conheçam em tempo de compilação
Não queremos fazer "referênciaAUmObjetoConhecido.método()"
De forma a criar o acoplamento e desfazê-lo a qualquer momento em tempo de execução
2 Solucionar isso fornece uma implementação muito flexível de acoplamento de abstrações
Objetivo
O padrão Observer permite que objetos interessados sejam avisados da mudança de estado ou outros eventos ocorrendo num outro objeto
O objeto sendo observado é chamado de:
"Subject" (GoF)
"Observable" (java.util)
"Source" ou "Event Source" (java.swing e java.beans)
Provedor de informação (Bill Venners)
Gerador de eventos (Bill Venners)
O objeto que observa é chamado de
Observer (GoF e java.util)
Listener (java.swing)
Java usa este padrão em 2 lugares mas de formas diferentes!
A forma java.util não é boa (ver críticas adiante)
Usaremos as palavras Source e Listener
Também chamado de
Publisher-Subscriber, Event Generator, Dependents
Exemplo
Como projetar um sistema que modele um telefone e todos os objetos que poderiam estar interessados quando ele toca?
Os objetos interessados poderiam ser:
Pessoas que estejam perto (na mesma sala)
Uma secretária eletrônica
Um FAX
Até um dispositivo de escuta clandestina :-)
2 Os objetos interessados podem mudar dinamicamente
Pessoas entram e saem da sala onde o telefone está
Secretárias eletrônicas, FAX, etc. podem ser adicionados ou removidos durante a execução do programa
Novos dispositivos

Relacionados

  • Padrões de Projeto ( Desing Patterns) Padrão Comportamental: Observer
    1438 palavras | 6 páginas
  • Redes de arquiteturas de computadores
    2750 palavras | 11 páginas
  • Model-View-Controller
    526 palavras | 3 páginas
  • AOP
    4028 palavras | 17 páginas
  • padroes trab1 2 Paulo Weverton
    1871 palavras | 8 páginas
  • Effect of sociality and seadon on gray wolf
    8715 palavras | 35 páginas
  • PADRÕES DE PROJETO DE SOFTWARE APLICADOS À UMA ARQUITETURA BASEADA EM COMPONENTES UTILIZANDO JAVA PARA RASTREAMENTO VEICULAR
    2097 palavras | 9 páginas
  • ABSTRACT FACTORY
    109485 palavras | 438 páginas
  • java
    18686 palavras | 75 páginas
  • Lista lineares e encadeadas
    1902 palavras | 8 páginas