By: M. Nordbeg
Published in: PLoPD3
Summary: Variations on Visitor [Gamma+95]
This pattern adds another level of inheritance to Visitor [Gamma+95], providing a default implementation that takes advantage of the inheritance relationships in a polymorphic hierarchy of elements.
Trade the performance overhead of a small number of run-time type tests for reduced complexity and coupling in the visitor and element classes by testing the feasibility of a visit operation before performing it.