位置: 编程技术 - 正文

轻松掌握php设计模式之访问者模式(php设计模式六大原则)

编辑:rootadmin

推荐整理分享轻松掌握php设计模式之访问者模式(php设计模式六大原则),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php设计模式及使用场景,php设计模式及使用场景,php设计总结,轻松掌握php设计软件,php设计模式详解,php设计是什么,轻松掌握php设计代码,轻松掌握php设计软件,内容如对您有帮助,希望把文章链接给更多的朋友!

访问者模式解决的问题

在我们的代码编写过程当中,经常需要对一些类似的对象添加一些的代码,我们以一个计算机对象打印组成部分为例来看下:

轻松掌握php设计模式之访问者模式(php设计模式六大原则)

这个时候上面的代码看上去好像很完美的样子,但是问题来了,现在我们不但需要打印组成部分,还需要保存各个组件到数据库,不仅如此,还需要打印各个组件的价格;此时如果在Unit基类中添加getPrice()和save()方法,也能实现我们想要的功能,但是这样做也存在问题,你并不知道还需要新增什么操作,如果每新增一个操作都用这样的方法来新增,我们的类会变得越来越臃肿。

访问者模式的实现

而访问者模式就是为了解决这个问题的,他把数据结构和作用于结构之上的操作之间的耦合解脱开,使得操作集合可以相对自由的演化,我们来看下面改良过得代码:

总结

经过上面的改良之后,我们要扩展就变得非常容易,如果我们需要新增保存到数据库的方法,可以在新增一个实现了Visitor的类,比如SaveVisitor,在该类中来实现保存的方法,等于我们把该类和该类中的一些操作解藕了出来,而集合了类操作的对象就是访问者。

标签: php设计模式六大原则

本文链接地址:https://www.jiuchutong.com/biancheng/302013.html 转载请保留说明!

上一篇:适合PHP初学者阅读的4本经典书籍(php哪本书最好)

下一篇:php源码 fsockopen获取网页内容实例详解(php源码 数据库)

  • 个人所得税申报操作流程2023
  • 有形动产租赁服务税收分类编码
  • 饭店开业几年后可以申请升级
  • 小规模纳税人个税是月报还是季报
  • 税务不受地方管吗
  • 缴纳的增值税如何申请退税
  • 股东股权转让印花税公司可以报销吗
  • 土地补偿费入什么科目
  • 离职未收回货款要我承担
  • 小微企业银行贷款印花税
  • 企业购入投资性房地产
  • 去年暂估的成本,汇算前收到的少,红冲全部暂估吗
  • 增值税普通发票可以抵扣吗
  • 车辆增值税抵扣多少点
  • 监控维护需要什么经营范围
  • 印花税是填开票金额吗
  • 民间非营利组织有哪些
  • 常用的索赔费用计算方法
  • 流动资产周转次数
  • 水电费发票可以开吗
  • 没有销项税进项要交税吗
  • 加速折旧以后年度如何填报调减额
  • win7 bootmode
  • 原本可以打开的软件
  • packethsvc.exe - packethsvc是什么进程 有什么用
  • 先入费用后来发票怎么做账
  • 什么是BIOS设置界面
  • win10无法上网,显示灰色的飞行模式
  • macbook无限输入z
  • 期末损益类科目结转
  • 企业将自有房产怎么处理
  • 房地产土地使用税核减条件
  • php返回函数值的关键字
  • php同时使用session和cookie来保存用户登录信息的实现代码
  • php函数传值的引用是什么
  • 浅析中国式现代化的理论价值与现实意义
  • node.js教程详细
  • 残保金补申报后处罚会自动取消吗
  • 大华摄像头海康威视录像机
  • 企业适用的增值税税率
  • 段云简介
  • 生产设备改扩建会计分录
  • 投资收益记账
  • 进口货物的完税价格计算公式
  • 农业用地租赁是免税的吗
  • 投资性房地产转换计入其他综合收益
  • 销售商品发生的运输费计入什么科目
  • 手工凭证模板
  • 自产自用的产品增值税怎么算
  • 房屋租赁税按什么收
  • 出差费计入工资总额吗
  • 费用误计入固定资产
  • sql如何随机抽样
  • ccs 运行
  • 光标很粗怎么弄细
  • 微软和苹果是什么关系
  • 光盘安装系统怎么操作
  • 驱动安装过程中发生错误
  • ubuntu21.04中文
  • centos页面
  • win8关机立马自动重启
  • windowsxp的安装方法
  • 为啥没有win8 win9
  • win xp系统安装
  • win8怎么改系统
  • [置顶] clauvio,Twitter小老鼠
  • linux查看nginx配置文件
  • dos到windows
  • cocos2dx开发鸿蒙app
  • cocos2dx安装win7教程视频
  • python基本入门
  • 原生javascript+css3编写的3D魔方动画旋扭特效
  • shell终端是什么意思
  • unity的vs
  • Python默认参数 数组坑
  • unity3d赛车游戏毕业设计
  • 江西电子税务局官网app
  • 监督医院的单位
  • 石狮纳税企业排名
  • 营业执照每个季度申报吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设