1. 模式结构
2. 角色
(1) Visitor(抽象访问者)
尽量将对不同元素的访问方法名命名一致
(2) ConcreteVisitor(具体访问者)
(3) Element(抽象元素)
在accept方法中回调访问者中的visit方法对自身进行操作
(4) ConcreteElement(具体元素)
(5) ObjectStructure(对象结构)
聚合元素对象
对元素对象进行遍历
3. 特点
可以在不改变各元素的类的前提下定义作用于这些元素的新操作
可以将对对象结构中对对象的操作分离到访问者中
4. 应用
一些编译器中
DOM4J