【设计模式】访问者模式{更新中}

 

访问者

访问者模式的产生:类结构相对稳定,但是基于类的行为变化较大。

访问者模式的例子:这一部分参考 简书作者:JamFF 的文章 访问者模式一篇就够了

这里员工是稳定的类结构,公司一年一度生成所有员工的报表。不同的高层会以变化的方式来访问员工,比如CEO看Engineer的代码行和Manager的产品数量,但是CTO只看两者的KPI。

高层的Visitor需要提供多个访问不同员工 Staff(Element)的方法;而对被访问的员工Staff(Element),则只需要提供一个accept方法接受来自高层的访问。

 

【设计模式】访问者模式{更新中}
访问者模式的设计图

 

访问者模式的优点:

  • 访问者模式最大的优点就是增加访问者非常容易。
  • 使得数据结构和作用于结构上的操作解耦,使得操作集合可以独立变化。