Default and Extrinsic Visitor

By: M. Nordbeg
Published in: PLoPD3
Pages: 105-123
Category: Behavioral

Summary: Variations on Visitor [Gamma+95]

Pattern: Default Visitor

Pages: 105-112

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.

Category: Behavioral

Pattern: Extrinsic Visitor

Pages: 112-122

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.

Category: Behavioral