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

From Wiki**3

(Exemplo)
Line 19: Line 19:
 
==Exemplo==
 
==Exemplo==
  
 +
* [[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]]
 
* [[Visitor (padrão de desenho)/Produtos Hortícolas|Produtos Hortícolas]]
  

Revision as of 23:41, 21 November 2013

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 objecto "visitado".

Estrutura

Diagrama de classes

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

Visitor-dpcd.png

Diagrama de sequência

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

Visitor-dpsd.png

Exemplo

Exercícios