位置: 编程技术 - 正文

学习php设计模式 php实现观察者模式(Observer)(php设计思路)

编辑:rootadmin

推荐整理分享学习php设计模式 php实现观察者模式(Observer)(php设计思路),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php 设计模式 鸟哥,php常用的设计模式在开发中的实例,php 设计模式 鸟哥,php常用设计模式(大总结),php常用设计模式(大总结),php 设计模式 鸟哥,php 设计模式 鸟哥,php设计模式六大原则,内容如对您有帮助,希望把文章链接给更多的朋友!

学习php设计模式 php实现观察者模式(Observer)(php设计思路)

一、意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新【GOF】又称为发布-订阅(Publish-Subscribe)模式、模型-视图(Model-View)模式、源-监听(Source-Listener)模式、或从属者(Dependents)模式二、观察者模式结构图

三、观察者模式中主要角色抽象主题(Subject)角色:主题角色将所有对观察者对象的引用保存在一个集合中,每个主题可以有任意多个观察者。抽象主题提供了增加和删除观察者对象的接口。抽象观察者(Observer)角色:为所有的具体观察者定义一个接口,在观察的主题发生改变时更新自己。具体主题(ConcreteSubject)角色:存储相关状态到具体观察者对象,当具体主题的内部状态改变时,给所有登记过的观察者发出通知。具体主题角色通常用一个具体子类实现。具体观察者(ConcretedObserver)角色:存储一个具体主题对象,存储相关状态,实现抽象观察者角色所要求的更新接口,以使得其自身状态和主题的状态保持一致。四、观察者模式的优点和缺点观察者模式的优点:1、观察者和主题之间的耦合度较小;2、支持广播通信;观察者模式的缺点:1、由于观察者并不知道其它观察者的存在,它可能对改变目标的最终代价一无所知。这可能会引起意外的更新。五、观察者模式适用场景1、当一个抽象模型有两个方面,其中一个方面依赖于另一个方面。2、当对一个对象的改变需要同时改变其它对象,而不知道具体有多少个对象待改变。3、当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换句话说,你不希望这些对象是紧密耦合的。六、观察者模式与其它模式中介者模式(Mediator):通过封装复杂的更新语义,ChangeManager充当目标和观察者之间的中介者。单例模式(singleton模式):ChangeManager可使用Singleton模式来保证它是唯一的并且是可全局访问的。七、观察者模式PHP示例

标签: php设计思路

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

上一篇:PHP判断手机是IOS还是Android(php判断ip是否属于某个区段)

下一篇:学习php设计模式 php实现备忘录模式(Memento)(php 设计模式)

  • 本月计提所得税费用
  • 收取境外服务费收入如何开票
  • 价外费用含税吗
  • 未开票收入退回可以冲税吗
  • 营利性医疗机构筹建是什么意思
  • 外贸出口备案需准备什么资料
  • 出差的餐饮发票的税率是多少
  • 固定资产折旧四种方法适用范围
  • 个体工商户生产经营所得税税率表2021
  • 中药饮片增值税税率
  • 公司电视机 摊销多少年
  • 一般纳税人取得小规模专用发票可以抵扣吗
  • 收入成本以前年度损益调整账务处理是怎样的?
  • 企业销售货物后,若发生销货退回或销售折让
  • 缺联发票税务怎么处理
  • 烟草消费税计算方法
  • 对公账户开通网银有什么好处
  • 长期应付款怎么冲减
  • 公司补缴印花税怎么申报
  • 金蝶系统怎么修改库存数量
  • win10清空回收站是灰色的
  • 新会计准则的科目
  • ipados15什么时候发布
  • ati2mdxx.exe是什么进程 ati2mdxx进程信息查询
  • 进销存单据
  • 公司吸收合并股权
  • 建筑施工企业关键技术岗位八大员配置要求
  • 存货周转材料报废处理会计分录
  • php写的代码怎么运行
  • php调用图片
  • 我国中小企业成本管理现状
  • 阳光穿透云层是什么效应
  • 流动资产金额
  • 微信小程序在哪里打开
  • 3分钟认识Vue3的v-model
  • es6 promise finally
  • 事业结余对应政府会计哪个科目
  • 小微企业声明函去哪个部门开
  • 税票电子发票怎么开
  • 金税盘插电脑上没反应是怎么回事
  • mysql5.7.27安装与配置
  • 外贸da付款方式的流程图
  • 建筑企业跨地区经营企业所得税
  • sqlgun
  • 接受捐赠如何进项
  • 加计抵减的其他收益免税吗
  • 免征水利建设基金条件
  • 融资性售后回租承租方出售资产为什么不缴纳增值税
  • 为什么付款后没有记录
  • 库存现金盘点表模板
  • 企业最应避免的外部环境和内部条件组合是
  • 餐饮店赠品
  • 长期借款工程验收会计分录怎么做
  • 哪几种情况涉及到进项税额的转出
  • 法人在公司账户取钱要纳税么
  • 保险公司收车船税返还手续费犯罪
  • 快递费专票可以报销吗
  • 个人出租租房收什么税
  • sqlserver时间格式转换yyyy-mm
  • win10预览版21277
  • linux系统啥样
  • Win7系统开机流程
  • win7 系统设置
  • 怎么安装最新显卡驱动
  • win7如何打开windows功能
  • linux tcptraceroute
  • win8系统打不开exe
  • linux系统怎么弄
  • win7账户不见了
  • [置顶] 纯享版奥义,手机迅雷搜:阿天动漫
  • cocos2dx官方教程
  • ext.formpanel
  • ie在支持ftp的功能方面
  • jquery.upload.js
  • javascript语言介绍
  • javascript教程
  • js做时钟让钟表转起来
  • js函数总结
  • 重庆市电子税务局官网登录入口
  • 民族贸易产生的原因
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设