[Tutor] Visitor Pattern
Sean 'Shaleh' Perry
shaleh at speakeasy.net
Fri Feb 6 00:38:06 EST 2004
On Sunday 01 February 2004 18:05, Daniel Ehrenberg wrote:
> What is a visitor pattern? I've heard that it shows
> how good a language is, and that Lisp is really good
> because it can be done in two (cryptic) lines. How can
> a visitor pattern be implimented in Python?
>
It is from the original "Desgin Patterns" book which is one of the bibles of
OO coding.
An excerpt:
<quote>
Intent
Represent an operation to be performed on the elements of an object structure.
Visitor lets you define a new operation without changing the class of the
elements on which it operates.
</quote>
The idea here is you have an object with "visits" another object and in some
way interacts with it.
Common example:
for window in windowList:
display.draw(window)
which in functional terms shows up as:
map(display.draw, windowList)
or in new terms
[display.draw(window) for window in windowList]
Visitor is a very, very common idiom in functional languages.
More information about the Tutor
mailing list