首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

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

结构图

角色与理解

访问者模式共分为五种角色:

Visitor(抽象访问者):内部声明一个对每一个具体元素进行访问的操作。

Concrete Visitor(具体访问者):继承抽象访问者,实现对所有具体元素的一种访问操作。

Element(抽象元素):声明accept()方法,以抽象访问者作为参数,供访问者访问。

Concrete Element(具体元素):实现accept()方法,调用访问者的访问方法以完成访问者对自身的访问。

Object Structure(对象结构):存储并管理元素,提供一个入口,使所有元素被访问。

被访问者提供访问入口,使自身的数据被访问者访问。

核心代码

抽象访问者

具体访问者

抽象元素

具体元素

对象结构

客户端

- END -

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201202A0GEV500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券