访问者模式:表示一个作用于某对象结构中的各元素的操作,它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。所以访问者模式是一种对象行为型模式。
访问者模式包括如下角色:
Vistor(抽象访问者)
ConcreteVisitor(具体访问者)
Element(抽象元素)
ConcreteElement(具体元素)
ObjectStructure(对象结构)
访问者模式的对象结构存储了不同类型的元素对象,以供不同的访问者访问
访问者模式包括了两个层次结构,一个是访问者层次结构,提供了抽象访问者和具体访问者,一个是元素层级结构,提供了抽象元素和具体元素
相同的访问者可以以不同的方式访问不同的元素,相同的元素可以接受不同的访问者以不同访问方式访问。