位置: 编程技术 - 正文

学习php设计模式 php实现命令模式(command)(php 设计模式 鸟哥)

发布时间:2024-01-01

推荐整理分享学习php设计模式 php实现命令模式(command)(php 设计模式 鸟哥),希望有所帮助,仅作参考,欢迎阅读内容。

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

学习php设计模式 php实现命令模式(command)(php 设计模式 鸟哥)

一、意图将一个请求封装为一个对象,从而使用你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。可变的方面是:何时,怎样满足一个请求命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。请求的一方发出请求要求执行一个操作;接收的一方收到请求,并执行操作。命令模式允许请求的一方和接收的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接收,以及操作是否被执行、何时被执行,以及是怎么被执行的。二、命令模式结构图

三、命令模式中主要角色命令(Command)角色:声明了一个给所有具体命令类的抽象接口。这是一个抽象角色。具体命令(ConcreteCommand)角色:定义一个接受者和行为之间的弱耦合;实现Execute()方法,负责调用接收考的相应操作。Execute()方法通常叫做执行方法。客户(Client)角色:创建了一个具体命令(ConcreteCommand)对象并确定其接收者。请求者(Invoker)角色:负责调用命令对象执行请求,相关的方法叫做行动方法。接收者(Receiver)角色:负责具体实施和执行一个请求。任何一个类都可以成为接收者,实施和执行请求的方法叫做行动方法。四、命令模式的优点命令模式的优点:1、命令模式把请求一个操作的对象与知道怎么执行一个操作的对象分离开。2、命令类与其他任何别的类一样,可以修改和推广。3、可以把命令对象聚合在一起,合成为合成命令。4、可以很容易的加入新的命令类。命令模式的缺点:可能会导致某些系统有过多的具体命令类。五、命令模式适用场景1、抽象出待执行的动作以参数化对象。Command模式是回调机制的一个面向对象的替代品。2、在不同的时刻指定、排列和执行请求。3、支持取消操作。4、支持修改日志。5、用构建在原语操作上的高层操作构造一个系统。Command模式提供了对事务进行建模的方法。Command有一个公共的接口,使得你可以用同一种方式调用所有的事务。同时使用该模式也易于添加新事务以扩展系统。六、命令模式与其它模式合成模式(composite模式):Composite模式可被实现宏命令原型模式(prototype模式):如果命令类带有clone(或在之前的文章中提到的copy方法)方法,命令就可以被复制。在命令模式支持多次取消操作时可能需要用到此模式,以复制当前状态的Command对象七、命令模式PHP示例

八、命令模式协作1、Client创建一个ConcreteCommand对象并指定它的Receiver对象2、某Invoker对象存储该ConcreteCommand对象3、该Invoker通过调用Command对象的execute操作来提交一个请求。若该命令是可撤消的,ConcreteCommand就在执行execute操作之前存储当前状态以用于取消命令。4、ConcreteCommand对象对调用它的Receiver的一些操作以执行该请求。九、宏命令在这里,我们以一个简单的增加和粘贴功能为例,将这两个命令组成一个宏命令。我们可以新建复制命令和粘贴命令,然后将其添加到宏命令中去。如下所示代码:

标签: php 设计模式 鸟哥

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

上一篇:学习php设计模式 php实现合成模式(composite)(php设计思路)

下一篇:PHP7正式版测试,性能惊艳!(php7.0)

  • 收到个税返还手续费怎么算增值税附加
  • 城建税是什么税率
  • 小规模纳税人代扣代缴个人所得税
  • 计入资本公积的固定资产报废
  • 保本理财收益增值税纳税主体
  • 农民合作社交哪些税
  • 邮局可以开发票吗 税点多少
  • 样品销售如何记账
  • 出口业务退税流程资料
  • 列支会议费要求
  • 融资租赁的销项税额抵减
  • 盘盈存货会计处理会计分录
  • 合伙企业无偿获得股权怎么缴税?
  • 偿债基金公司债
  • 加油站汽油损耗多少
  • 公司出差开自己的车怎么计算损耗
  • 购买国税金税卡年费应该怎么做账务处理?
  • 转销无形资产的处置流程
  • 现金折扣税前扣除
  • 一般纳税人怎么交税
  • 国税地税企业所得税划分
  • 购买面粉的税率是多少
  • 股东个人借款用于公司怎么处理
  • 企业收入为免税收入的是
  • 工业厂房的辅助用房
  • 记账凭证做完之后干什么
  • 事业单位财政补助收入会计分录
  • 出口暂定关税
  • 音量图标不显示怎么回事
  • 独资子公司如何注册
  • php字符串的三种定义方式
  • zmweb.exe是什么进程
  • 木卫一距离木星多远
  • 理财的利息收入计入什么科目
  • 梅拉和艾斯德斯
  • 计提房产税会计分录怎么做账
  • 公司给员工付个税怎么算
  • 外经证逾期未核实怎么办
  • 以前年度损益在报表哪里体现
  • 学校官网首页图片
  • vue环境搭建及配置简书
  • 社保缴费工资和实发工资不一样
  • 润滑脂开票属于成品油吗
  • 超像素和markpage的区别
  • 终于见识到什么叫云横秦岭了
  • axios和ajax的关系
  • php 输出
  • 服装、眼镜、鞋、西药的发票怎么样做账比较好
  • 新会计准则规定
  • 经营活动现金净流量与净利润的关系
  • 生产车间用电的进项税额可以抵扣吗
  • 开具劳务发票需要哪些资料?
  • SQLserver行转列
  • 给保安买大衣算贿赂吗
  • 发票金额比实际付款多怎么做账
  • 出售其他权益工具投资其他综合收益
  • 委托加工业务的财务职责
  • 教育类退费
  • 企业支付宝要交税吗?
  • 电子承兑汇票接收不了怎么办
  • 出纳的现金日记账表格怎么做
  • 总分类账与明细分类账的关系
  • 银行凭证怎么记账
  • win8磁盘占用率高怎么处理
  • xp字体无法安装
  • macbook分屏功能
  • stdin命令
  • win10怎样永久激活
  • xp电脑开机自检怎么取消
  • virtualbox 虚拟化
  • android游戏开发论文
  • css翻转正反面
  • unity3d面试题摘选(全)
  • android自定义属性详解
  • 防止arp攻击的措施
  • node转go
  • django应用开发实战
  • 深圳市财政上交广东省吗
  • 个体工商户年报补报流程
  • 开票盘是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号