访问者模式

简介

表示一个作用于某对象结构中的各元素的操作,可以在不改变各元素类的前提下定义新操作。

使用场景:

  • 编译器的AST遍历

  • XML/DOM树操作

  • 报表生成

  • 文件系统遍历

实现要点:

  • 双分派机制

  • 访问者为每种元素定义visit()方法

  • 元素实现accept()方法

UML

spinner

代码示例

  1. 访问者接口

  1. 访问者实现

  1. 员工接口

  1. 具体员工

  1. 公司类

  1. 使用方式

Last updated