Visitor Pattern
Origem: Wikipédia, a enciclopédia livre.
Em programação orientada a objetos e engenharia de software, o visitor pattern é um padrão de projeto comportamental. Representa uma operação a ser realizada sobre elementos da estrutura de um objeto. O Visitor permite que se crie um nova operação sem que se mude a classe dos elementos sobre as quais ela opera. É uma maneira de separar um algoritmo da estrutura de um objeto. Um resultado prático é a habilidade de adicionar novas funcionalidades a estruturas de um objeto pré-existente sem a necessidade de modificá-las.
A idéia é usar uma classe de elementos como uma estrutura, sendo que cada uma delas possui um método cujo um dos argumentos é um objeto do tipo visitor
. Visitor
é uma interface que possui um método visit()
para cada classe de elementos. O método accept()
de uma classe de elementos invoca o método visit()
de sua respectiva classe. Classes visitor
concretas distintas podem então ser escritas para implementar operações especiais.