Visitor

  1. Explain how the visitor pattern encapsulates the behavior to perform an operation into single classes.
  2. Explain how the visitor pattern provides type-safe operations on each element in the object structure.
  3. List the three locations where responsibility for traversal of the object structure can reside.  Describe the operation of traversal for it location.
  4. Describe the need to maintain state with a visitor.
  5. Explain how the visitor pattern is an implementation of double dispatch.