首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【地铁上的设计模式】--行为型模式:访问者模式

访问者模式(Visitor Pattern)是一种行为型设计模式,它能够将算法与数据结构分离,使得算法可以独立于数据结构进行变化。它在不改变数据结构的前提下,定义了作用于数据结构中各个元素的新操作,即“访问者”,使得新增操作更加简单。访问者模式中,数据结构和操作是分开的,因此当需要新增一种操作时,只需增加相应的访问者即可,无需修改数据结构的代码,从而降低了系统的耦合度。 在访问者模式中,数据结构中的每个元素都有一个accept方法,它接收一个访问者作为参数,从而实现访问者对该元素的操作。访问者模式的核心思想就是“双重分派”,即先根据被访问者的类型来选择合适的访问者,再根据访问者的类型来调用合适的访问方法。 优点: 1.访问者模式能够在不改变原有数据结构的前提下,增加新的操作。 2.访问者模式将数据结构与操作分离,增加新的操作时,不会影响其他的操作。 3.访问者模式符合开闭原则。

02

微信小游戏爆发式增长,如何保证小游戏的版本迭代又快又稳?

导语 | 以《羊了个羊》为代表的微信小游戏在去年多次刷屏,引爆全网。近期又有几款微信小游戏成为热门,一度让“微信小游戏”热度指数上涨 20% 以上。微信小游戏市场一直都充满着希望与竞争,开发者如何在爆品争霸中脱颖而出呢?在小游戏开发中有哪些传统开发经验可以借鉴与学习呢?我们特邀腾讯云 TVP、计算机作家/讲师 李艺老师,在他新书《微信小游戏开发》的基础上带我们看看在微信小游戏项目开发中,从架构师角度如何应用面向对象和软件设计思想和设计模式。 作者简介 李艺,腾讯云 TVP、日行一课联合创始人兼 CTO,极

01

设计模式 ☞ 行为型之访问者模式

访问者(Visitor)模式的定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式。   在现实生活中,公园中存在多个景点,也存在多个游客,不同的游客对同一个景点的评价可能不同;医院医生开的处方单中包含多种药元素,査看它的划价员和药房工作人员对它的处理方式也不同,划价员根据处方单上面的药品名和数量进行划价,药房工作人员根据处方单的内容进行抓药。这些被处理的数据元素相对稳定而访问方式多种多样的数据结构,如果用“访问者模式”来处理比较方便。访问者模式能把处理方法从数据结构中分离出来,并可以根据需要增加新的处理方法,且不用修改原来的程序代码与数据结构,这提高了程序的扩展性和灵活性。

02

【愚公系列】2021年12月 二十三种设计模式(二十三)-访问者模式(Vistor Pattern)

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因。

03
领券