Difference between revisions of "Observer (padrão de desenho)"

From Wiki**3

(Estrutura)
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
Material correspondente à aula 28.
+
{{NAVPO}}
 +
{{TOCright}}
  
 
O padrão ''observer'' permite observar o estado de um objecto. Os observadores registam o seu interesse no estado junto do objecto; quando o estado do objecto muda, os observadores são notificados.
 
O padrão ''observer'' permite observar o estado de um objecto. Os observadores registam o seu interesse no estado junto do objecto; quando o estado do objecto muda, os observadores são notificados.
Line 11: Line 12:
 
[[Image:observer-dpcd.png|600px]]
 
[[Image:observer-dpcd.png|600px]]
  
===Diagrama de sequência===
+
===Diagrama de sequência===
  
As colaborações entre os intervenientes são as que figuram no seguinte diagrama de sequência:
+
As colaborações entre os intervenientes são as que figuram no seguinte diagrama de sequência:
  
 
[[Image:observer-dpsd.png|500px]]
 
[[Image:observer-dpsd.png|500px]]
Line 19: Line 20:
 
==Exemplo==
 
==Exemplo==
  
Estação meteorológica.
+
* [[Observer (padrão de desenho)/Exemplo 01: Estação Meteorológica|Exemplo 01: Estação Meteorológica]]
  
[[category:PO 2005/2006]]
+
[[category:Ensino]]
 +
[[category:PO]]

Latest revision as of 14:03, 19 November 2015

Programação com Objectos
Introduction
Creation and Destruction
Inheritance & Composition
Abstraction & Polymorphism
Code Organization
Java Topics
Inner Classes
Enumerations
Data Structures
Exceptions
Input/Output
RTTI
Other Topics
JUnit Tests
UML Topics
Design Patterns
"Simple" Factory
Composite & Visitor
Command
Strategy & State
Template Method
Observer
Abstract Factory
Decorator & Adapter
Façade (aka Facade)

O padrão observer permite observar o estado de um objecto. Os observadores registam o seu interesse no estado junto do objecto; quando o estado do objecto muda, os observadores são notificados.

Estrutura

Diagrama de classes

O padrão observer tem a seguinte estrutura de classes:

Observer-dpcd.png

Diagrama de sequência

As colaborações entre os intervenientes são as que figuram no seguinte diagrama de sequência:

Observer-dpsd.png

Exemplo