位置: 编程技术 - 正文

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

  • 汇款退回来的可以不做账吗
  • 自查补税申报表
  • 红字信息表状态是B900071
  • 异地施工需要办理什么手续
  • 购入材料用于非增值税纳税项目
  • 差额事业单位发放科研奖励记账
  • 个税退税入账
  • 年终红包怎么入账
  • 个人开增值税普通发票税率
  • 接受捐赠的固定资产进项税额可以抵扣吗
  • 建筑企业管理部门
  • 增票丢失怎么开完税证明
  • 现金流量表右边
  • 增值税附加税什么情况交
  • 本月只有红字发票该怎么申报小规模
  • 免税和退税的区别出口企业
  • 应征增值税不含税销售额和免税销售额
  • 公司购买五金用交税吗
  • 会计实操的重要性有哪些
  • 2023年王者荣耀世界杯
  • 应收账款余额包括预收账款
  • 文竹发黄怎么挽救?
  • 百度地图经纬度导航
  • php清除缓存的几个方法
  • 页面白屏可能原因前端
  • php处理并发有哪些技术
  • 印花税不足一元需要缴纳吗
  • 内存分配理解是什么
  • linux shell
  • php封装函数
  • 发票去税务局认证了就可以直接抵扣了吗
  • 逾期的押金税率是多少
  • 无形资产资本化和费用化的区别
  • 退税是上一年交的税都会退吗
  • css边框实现效果图及代码
  • 织梦网站停止使用了还侵权吗
  • mysql如何判断日期是周末
  • php和mysql的联合使用解决了
  • 残保金都要申报吗
  • 环保税的纳税义务人是施工方还是建设方安徽
  • 网上0申报怎么操作步骤
  • 房地产开发间接费用和开发费用的区别
  • 在建工程账务处理会计分录
  • 企业所得税不能税前扣除项目
  • 收到采购发票如何录入系统
  • 财务人员如何爱岗敬业
  • 会计丁字记账法
  • 现金短缺与溢余解析
  • 幼儿园收取的生活费免税吗
  • 固定资产报废如何进行账务处理
  • 单独入账的土地为啥不提折旧
  • 保理手续费计入投资收益吗
  • 缴纳以前年度税金怎么做账
  • 印花税滞纳金怎么处理
  • 劳动就业失业金怎么申请
  • 公司注销记账凭证还有用吗
  • 盗版win8 1升级win10
  • xp操作系统入门
  • 苹果电脑怎么归类app
  • Win10打开设备管理器
  • linux关闭系统
  • win7系统无法删除打印机驱动
  • unity接收udp
  • 防止shell脚本重复执行
  • jquery的过滤器用于指定什么东西
  • jquery 弹出页面
  • python 设计
  • unity3d游戏开发教程
  • jQuery插件是什么
  • jquery iframe src
  • jquery查找节点
  • android从入门到精通
  • python win
  • 厂房转让的土地税怎么算
  • 哪些可以享受三免一补
  • 哈尔滨国税局待遇怎么样
  • 黑龙江省国家税务局通用定额发票
  • 青岛怎样网上交医保
  • 水厂管理经验
  • 云南省2021年退休金计发基数
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设