Recently I was reading Judith Bishop's C# 3.0 Design Patterns. The book has been a good read so far.The Visitor pattern implementation in the book however is implemented "classically" wherein each element of the structure being iterated over has an Accept operation which accepts an instance of a Visitor type. When the client invokes the operation on the Visitor which is supposed to kick start the visiting,the Visitor iterates over each element of the structure in some way and invokes the Accept operation...