设计模式中访问者模式的意图是:
表示一个作用于某对象结构中的各元素的操作,使得在不改变各元素的类的前提下定义作用于这些元素的新操作。
举个例子,比如说有个游客想去几个景点,去每个景点都想按统一的流程。但是每个景点都有各自不同的展示和流程,不可能单独为了这个游客改。这个游客就自己设定一套流程,每个景点对接,这样景点就不用修改了。
Visitor:抽象访问者,为对象结构类中每一个ConcreteElement的类声明一个Visit操作。
ConcreteVisitor:具体访问者,实现每个由Visitor声明的操作
Element:元素,定义一个Accept操作,它以一个访问者为参数
ObjectStructure:对象结构类