0
点赞
收藏
分享

微信扫一扫

设计模式-访问者模式

孟祥忠诗歌 2022-03-10 阅读 223

概念:表示一个作用于某对象结构中的各元素的操作。使你在不改变各元素所属的类的前提下,即可定义作用于这些元素的新操作。

优点:

  • 可以将数据操作和数据结构进行分离。即对象中各元素保存着数据结构,而访问者类中封装着对各个元素类的操作。
  • 符合单一职责原则。
  • 优秀的扩展性。定义新操作时,不改变元素的类,修改访问者类即可。
  • 灵活性。

缺点:

  • 具体类对访问者公布细节,违反了迪米特法则。
  • 具体元素修改困难。访问者类中使用到了具体类,具体类的修改需要兼容 访问者类,或者同步修改访问者。

适用场景:

  • 对象结构中对象的类很少发生改变,但经常需要定义在该类上的新操作;
  • 需要对一个对象结构中的对象进行很多不同 并且不相干的操作,并且避免这些操作污染对象的类,也不希望新加操作时修改这些类

理解:

  • 新增元素需要在访问者类中显式修改。

参考:
1)菜鸟教程->设计模式->访问者模式,https://m.runoob.com/design-pattern/visitor-pattern.html

举报

相关推荐

0 条评论