Visitor (padrão de desenho): Difference between revisions

From Wiki**3

Root (talk | contribs)
Root (talk | contribs)
No edit summary
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
Material correspondente à aula 29.
{{NAVPO}}
 
{{TOCright}}
O padrão ''visitor'' permite separar uma estrutura de objectos de algoritmos que a ela possam ser associados em tempo de execução. A adição do comportamento processa-se sem alteração objecto "visitado".
O padrão ''visitor'' permite separar uma estrutura de objectos de algoritmos que a ela possam ser associados em tempo de execução. A adição do comportamento processa-se sem alteração do código da classe do objecto "visitado".


==Estrutura==
==Estrutura==
Line 11: Line 11:
[[Image:visitor-dpcd.png|600px]]
[[Image:visitor-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:visitor-dpsd.png|600px]]
[[Image:visitor-dpsd.png|600px]]
Line 19: Line 19:
==Exemplo==
==Exemplo==


Produtos hortícolas.
* [[Visitor (padrão de desenho)/Expressões Aritméticas Simples|Expressões Aritméticas Simples]]
* [[Visitor (padrão de desenho)/Produtos Hortícolas|Produtos Hortícolas]]
 
== Exercícios ==
 
* [[Visitor (padrão de desenho)/Exercício 1: Cálculo de Impostos|Cálculo de Impostos]]


[[category:PO 2005/2006]]
[[category:Ensino]]
[[category:PO]]

Latest revision as of 18:52, 20 December 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 visitor permite separar uma estrutura de objectos de algoritmos que a ela possam ser associados em tempo de execução. A adição do comportamento processa-se sem alteração do código da classe do objecto "visitado".

Estrutura

Diagrama de classes

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

Diagrama de sequência

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

Exemplo

Exercícios