位置: 编程技术 - 正文

轻松掌握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源码 数据库)

  • 软件产品即征即退条件
  • 金融企业往来支出属于什么科目
  • 公司购买设备报告怎么写
  • 小规模差额征税会计分录实例
  • 利润表季报的本期金额是本年累计吗
  • 附加税减免所得税汇缴的时候需要调整吗
  • 借款应付利息计算
  • 增值税专用发票电子版
  • 无形资产报废的例题
  • 小规模纳税人购车是怎么抵税的
  • 金税三期收费吗
  • 固定资产抵扣新政策2022
  • 其他公司向本企业借款
  • 客户可以把现金存入对公户吗
  • 需不需要计提增值税发票
  • 异地工程要预缴环境税款吗
  • 租赁费支出可以在税前扣除吗
  • 企业销售净利润较低说明什么
  • 汇算清缴时多缴的企业所得税怎么做会计分录
  • 资产处置损益和营业外收支的区别和联系
  • 农产品收购抵扣税额可以申请留抵退税
  • 收支利息税务如何处理
  • 小米路由器启动不了
  • 什么情况转账会延迟2天
  • 公司固定资产出售给个人
  • macbook怎么设置输入法
  • mac os右键
  • 前端常用插件汇总
  • Mother cheetah and her cub in the Maasai Mara nature reserve, Kenya (© gudkovandrey/Adobe Stock)
  • 关联方借款利息所得税前扣除
  • 银行罚息计入什么会计科目
  • 商标个性设计
  • 华为2022年资产负债表数据
  • 分配税后利润会计分录
  • php面向对象是什么意思
  • 深度学习中正样本、负样本、简单样本、困难样本的区别 (简单易懂)
  • 商品出入库台账
  • 异地预缴的附加税在申报税时会抵消掉么
  • 金蝶kis的使用方法
  • 现金流量表和资产负债表的区别
  • 织梦怎么改网站主页
  • 一般纳税人第一次申请发票
  • 资产损失税前扣除最新政策2021
  • 用友要怎么删除凭证
  • 计提坏帐包含其他收入吗
  • 税法中对差旅费的处理
  • 使用XQuery查询DB2 XML数据
  • 从物资公司购入原木的进项税额
  • 企业所得税法开办费
  • 什么叫做有限循环小数
  • 管理费用 暂估入账
  • 多计提的个人所得税退给员工怎么处理
  • 当月进项税额大但是也要交增值税吗
  • 应收账款未收到是否要交税
  • 坏账核销在企业所得税汇算清缴的填写
  • 销售人员的提成属于什么工资
  • 国有企业取得的土地建设职工住宅
  • 资本公积的意思是
  • 装饰公司工地
  • 买车能不交税吗
  • 营业外收入适用的会计准则
  • 享受研发费用加计扣除需要什么条件
  • 购买方账务处理
  • 委托设置什么意思
  • sql事务的例子
  • windows vista电脑
  • linux中使用bash是什么意思
  • spybuddy.exe - spybuddy是什么进程
  • graphics.dll
  • win8系统怎么重新安装系统
  • android不同module怎么相互调用
  • django settings.py
  • js tab切换
  • 123600是税务电话吗
  • 网上报税失败什么原因
  • 东莞税收突破2000亿
  • 生育保险证明去哪里办
  • 一般纳税人忘记报税一个月罚多少钱
  • 济宁任城区多大面积
  • 医务人员抗疫补助发放标准最新
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设