The GoF design patterns book defines Visitor design pattern as follows - 'Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the class of the elements on which it operates.'