Files
design-patterns-cpp/visitor/README.md
2016-10-01 20:05:23 +02:00

15 lines
747 B
Markdown

## Visitor
Visitor represents an operation to be performed on the elements of an object
structure. It lets you define a new operation without changing the classes of
the elements on which it operates. The pattern has behavioral purpose and applies
to the objects.
### When to use
* an object structure contains many classes of objects with differing interfaces,
and you want to perform operations on these objects that depend on their concrete classes
* many distinct and unrelated operations need to be performed on objects in an object structure,
and you want to avoid "polluting" their classes with these operations
* the classes defining the object structure rarely change, but you often want
to define new operations over the structure