(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{NAVPO}} | {{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 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]] | ||
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".
O padrão visitor tem a seguinte estrutura de classes:
As colaborações entre os intervenientes são as que figuram no seguinte diagrama de sequência: