Skip to content

Latest commit

 

History

History
33 lines (22 loc) · 707 Bytes

File metadata and controls

33 lines (22 loc) · 707 Bytes

访问者模式 (Visitor Pattern)

定义

封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。

类图

// 类图内容

适用场景

  • 一个对象结构包含很多类对象,它们有不同的接口,而你想对这些对象实施一些依赖于其具体类的操作
  • 需要对一个对象结构中的对象进行很多不同的并且不相关的操作

优缺点

优点

  • 符合单一职责原则
  • 优秀的扩展性
  • 灵活性非常好

缺点

  • 具体元素对访问者公布细节
  • 违反了依赖倒置原则

代码实现

// 示例代码