设计模式行为型:访问者模式

电子说

1.2w人已加入

描述

在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。

主要将数据结构与数据操作分离。稳定的数据结构和易变的操作耦合问题。

结构图

算法

角色与理解

  • 访问者模式共分为五种角色:
    • Visitor (抽象访问者):内部声明一个对每一个具体元素进行访问的操作。
    • Concrete Visitor (具体访问者):继承抽象访问者,实现对所有具体元素的一种访问操作。
    • Element (抽象元素):声明accept()方法,以抽象访问者作为参数,供访问者访问。
    • Concrete Element (具体元素):实现accept()方法,调用访问者的访问方法以完成访问者对自身的访问。
    • Object Structure (对象结构):存储并管理元素,提供一个入口,使所有元素被访问。
  • 被访问者提供访问入口,使自身的数据被访问者访问。

核心代码

  • 抽象访问者

算法

  • 具体访问者

算法

  • 抽象元素

算法

  • 具体元素

算法

  • 对象结构

算法

  • 客户端

算法

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分