前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计模式行为型:访问者模式(VisitorPattern)

设计模式行为型:访问者模式(VisitorPattern)

作者头像
码农架构
修改2020-12-13 13:12:04
2830
修改2020-12-13 13:12:04
举报
文章被收录于专栏:码农架构

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

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

结构图

角色与理解

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

核心代码

  • 抽象访问者
  • 具体访问者
  • 抽象元素
  • 具体元素
  • 对象结构
  • 客户端
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 结构图
  • 角色与理解
  • 核心代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档