位置: 编程技术 - 正文

学习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框架)

  • 印花税申报表计税依据怎么填
  • 消费型增值税的含义
  • 出口退税计算公式 中华会计网校
  • 关联企业的费用包括
  • 律师事务所的账务流程
  • 工会经费的减免申请
  • 新车车牌照
  • 收到的软件退税怎么处理
  • 承包租赁成本明细表的预算项目
  • 政策减免是什么意思
  • 公司委托其他公司为员工代缴社保公积金
  • 租房提取的话可以全部提取吗
  • 公司买理财产品的账务处理
  • 多缴税款能否跨年抵扣
  • 分红未及时扣缴税款要缴滞纳金吗?
  • 房地产企业预收房款开票
  • 法院收到诉讼费多久可以收到传票
  • windows 10如何清除联网记录
  • bios如何设置光盘启动项
  • 个税是负数直接工资加上吗
  • 发出委托加工物资
  • linux GTK、KDE、Gnome、XWindows 图形界面区别介绍
  • win11如何修复
  • 转出未交增值税会计科目
  • PHP:mcrypt_module_get_algo_block_size()的用法_Mcrypt函数
  • 小企业会计准则2023电子版
  • 房地产消防工程入什么科目
  • php 上传文件
  • vue项目开发环境
  • opencv识别车牌
  • PyTorch 深度学习实战 | 基于生成式对抗网络生成动漫人物
  • 研发人员工资计入什么科目
  • 纳税检查企业所得税企业合并
  • vue遇到的问题和解决方法
  • 采购的原材料无保质期
  • 印花税申报成功后在哪缴税
  • 慈善组织接受股票捐赠流程
  • 研发支出可以全是管理费用
  • 服务费减免税款怎么算
  • 代管资金支出怎么做账
  • 法人给对公账户转账
  • 小规模纳税人差额征收税率是多少
  • 其他应付款计入资产负债表哪个科目
  • 教育行业税收优惠政策2022
  • 购入的设备用于研发怎样记账
  • 无形资产减值准备借贷
  • 账户外币转人民币
  • 贸易公司的会计要做哪些报表
  • 长期借款利息计入应付利息吗
  • 外出经营活动需要预缴税款吗2020年
  • 事业单位项目结算审计报告
  • 企业购买的结构性存款怎样做账
  • sql servers
  • mysql 的replace into实例详解
  • sql数据库分布式部署
  • 数据库中的冗余度是什么意思
  • windows自带安全
  • ubuntu安装指南
  • ahci模式下安装win7蓝屏
  • WindowsPE与WindowsRE有什么区别
  • 安装网络设备
  • win8 蓝牙
  • win8.1怎么关闭更新
  • win10新建文件夹的快捷键是哪个
  • linux的shm共享内存
  • python,数组
  • windows visual studio 基于openGL的粒子系统设计
  • android opengl绘图
  • nodequery
  • linux for i in
  • bat弹窗
  • unity me
  • jquery源码分析
  • javascript entries
  • 一个简单的网页
  • python如何查询函数用法
  • 很全面的成语
  • java 视频教程
  • 电子税务局年度申报流程
  • 上饶二手房契税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设