作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
访问者模式(Visitor Pattern)表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。
模式结构
UML 结构图:
- Vistor(访问者):为对象结构中每一个 ConcreteElement 声明一个 visit() 操作,从这个操作的名称或参数类型可以清楚知道需要访问的具体元素的类型。
- ConcreteVisitor(具体访问者):实现每个由 Visitor 声明的操作。
- Element(元素):定义一个 accept() 操作,它通常以一个 Vistor 作为参数。
- ConcreteElement(具体元素):实现 accept() 操作,通过调用 Visitor 的 visit() 方法来实现对元素的访问。
- ObjectStructure(对象结构):能够枚举它的元素,同时提供一个高层的接口,以允许访问者访问它的元素。
优缺点
优点: