位置: 编程技术 - 正文

学习php设计模式 php实现模板方法模式(php常用的设计模式在开发中的实例)

编辑:rootadmin

推荐整理分享学习php设计模式 php实现模板方法模式(php常用的设计模式在开发中的实例),希望有所帮助,仅作参考,欢迎阅读内容。

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

一、意图定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method 使得子类可以在不改变一个算法的结构的情况下重定义该算法的某些特定的步骤【GOF】二、模板方法模式结构图

学习php设计模式 php实现模板方法模式(php常用的设计模式在开发中的实例)

三、模板方法模式中主要角色抽象模板(AbstractClass)角色: 定义一个或多个抽象方法让子类实现。这些抽象方法叫做基本操作,它们是顶级逻辑的组成部分。定义一个模板方法。这个模板方法一般是一个具体方法,它给出顶级逻辑的骨架,而逻辑的组成步骤在对应的抽象操作中,这些操作将会推迟到子类中实现。同时,顶层逻辑也可以调用具体的实现方法

具体模板(ConcrteClass)角色:实现父类的一个或多个抽象方法,作为顶层逻辑的组成而存在。

每个抽象模板可以有多个具体模板与之对应,而每个具体模板有其自己对抽象方法(也就是顶层逻辑的组成部分)的实现,从而使得顶层逻辑的实现各不相同。四、模板方法模式适用场景1、一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。2、各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。3、控制子类扩展。五、模板方法模式与其它模式1、策略模式(strategy模式):模板方法使用继承来改变算法的部分,策略模式使用委托来改变整个算法。区别在于封闭的变化不同,一个变化的部分,一个变化的是整体。2、工厂方法模式(factory method模式):Factory Method模式常被模板方法调用。六、模板方法模式PHP示例

七、模板方法模式模板方法是一种代码复用的基本技术,模板方法导致一种反射的控制结构,这指的是一个父类调用子类的操作。其实现过程:准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。八、重构的原则重构时应当遵守的原则是:将行为以是移到结构的高端,而将状态尽量移动到结构的低端。1、应当要所行为而不是状态定义一个类。2、在实现行为是,是用抽象状态而不是用具体状态。3、给操作划分层次。4、将状态的确认推迟到子类中。在父类中,如果需要状态属性的话,可以调用抽象的取值方法,而将抽象的取值方法的实现放到具体子类中。如果可以遵守以上的而,那么就可以在等级结构中将接口与实现分离,将抽象与具体分离,从而保证代码可以最大限度的被复用。

标签: php常用的设计模式在开发中的实例

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

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

下一篇:详解PHP的Yii框架中日志的相关配置及使用(php yii框架)

  • 计提应交个人所得税分录怎么做
  • 挂靠到运输公司的车转让给个人如何交增值税
  • etc发票可以抵扣进项税吗
  • 企业所得税营业收入和增值税销售收入
  • 怎么从税控系统导出明细
  • 企业所得税可以不交吗
  • 设计原始凭证所需内容及步骤
  • 分包工程违法吗
  • 交易性金融资产入账价值怎么计算
  • 复利现值系数完整版
  • 跨年度收入计算的增值税如何入账?
  • 投资收益在什么科目
  • 未办理三证合一营业执照会注销吗
  • 怎么进行利润招财
  • 营改增后转让土地使用权怎么计算增值税
  • 卖仪表赚钱吗
  • 本期销售额未达起征点请将本期应纳税额
  • 增值税发票备注栏怎么填写
  • 商家不给发票可以报警吗
  • 物业公司收取的广告费开什么发票
  • 出口退税生产企业税率
  • mac复制文件路径后怎么粘贴
  • 高速过路费抵扣进项怎么填报
  • 在win10中怎么从edge旧ie浏览器
  • win7系统中如何关闭触摸屏声音
  • 新产品研发费的会计分录
  • 应付票据是发票吗
  • 企业所得税征收点
  • 企业合并支付的资产评估费计入
  • nginx反向代理详解
  • vue引入svg图片
  • 关于php文件的自动播放
  • php的输出语句
  • thinkphp教程
  • 无法收回的应收账款怎么做分录
  • 先付款后开票怎么做账务处理
  • 工资计提啥意思
  • 房地产企业根据什么交增值税
  • sqlserver重复数据
  • 增值税发票日用品开票明细
  • 中级财务会计计算题
  • 外单位替本单位缴纳社保
  • 出口免税进项税怎么处理
  • 现金支付有借款利息吗
  • 机票电子行程单查询
  • 无形资产未取得发票
  • 不是公司的车费用能走公司吗
  • 滞纳金的上限是多少
  • 非流动资产包括哪些会计科目
  • 保险公司收车船税返还手续费犯罪
  • 转让固定资产的税率
  • 什么是现金等价物
  • ms sql mysql
  • jquery常用的事件绑定函数有哪些
  • 在mac上如何使用微信
  • win7升级win8.1
  • win10飞行模式怎么关掉没有图标
  • 运维zabbix
  • msoobe.exe是什么
  • WIN7系统怎么删除UG其它版本的许可证
  • win7旗舰版怎么进入bios
  • Ubuntu 14.10 “Utopic Unicorn”正式发布(附下载)
  • linux安装与基本命令
  • yosemite10.10.3beta3下载地址 os x10.10.3beta3官网下载
  • os x10.8
  • Tutorial 6:Translation Transformation
  • perl 教程
  • js的文件操作
  • apktool破解应用内购
  • pycharm打开文件怎么运行
  • jquery操作table
  • node js入门
  • android自定义view的三大流程
  • python之父推荐的书
  • 个人进口关税税率
  • 怎么在电脑上下载浙政钉
  • 北京公积金缴纳最低基数
  • 物业费增值税税率5%
  • 畜牧业企业所得税优惠政策最新
  • 工会银行卡怎么开通
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设