add Visitor pattern

This commit is contained in:
Jakub Vojvoda
2016-10-01 20:05:23 +02:00
parent eb7226cbf3
commit 4cd1459a7e
2 changed files with 114 additions and 0 deletions

15
visitor/README.md Normal file
View File

@@ -0,0 +1,15 @@
## 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