位置: 编程技术 - 正文

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

  • 电子税务局怎么查进项发票明细
  • 土地使用税的纳税时间
  • 收到返款计入什么科目
  • 不知道进价怎么求利润
  • 连续三个月发烧怎么回事
  • 支付宝企业账户的钱怎么取出来
  • 处置其他权益工具投资时,应按取得的价款
  • 农产品收购发票可以跨区域开吗
  • 应交税金的期末余额怎么算
  • 应付账款不用付怎么处理
  • 内部损益表
  • 企业收到免税发票后怎么开票
  • 员工租房合同
  • 合伙企业的投资者李某以企业资金
  • 增值税设备抵扣怎么抵扣
  • 过期的增值税发票能用吗
  • 固定资产的计税基础6种情况
  • 详细解读财税[2014]75号文件
  • 出口退税远程申报
  • 年所得12万以下还用年度申报吗
  • 基金会可以投资企业吗
  • 展会展位费发票税率
  • 融资租赁抵押车辆逾期收车
  • 筹建期间发生的费用计入什么科目
  • 工程承包付款最佳方式
  • 应付短期租入固定资产的租金计入什么科目
  • 临时工工资怎么处理
  • 股东借钱给公司怎么写借条
  • PHP:xml_get_current_byte_index()的用法_XML解析器函数
  • 企业所得税费用扣除比例
  • php模板引擎语法
  • 送给经销商的祝福语
  • 购入股票佣金会减少吗
  • 拓展销售市场发生的业务招待费计入
  • 皮肤痒怎么回事
  • 进程antimalware service
  • 企业缴纳保险的比例
  • 外国企业如何在阿联酋注册商标
  • thinkphp登录
  • 停在花朵上,好像在认真的听同学们读课文修改病句
  • php怎么访问本地的网页
  • 代垫运费算收入吗
  • yolov5tiny
  • redis的eval命令
  • 应收账款计提减值准备的方法
  • 利息进项税是否含增值税
  • 开票系统软件升级
  • php中定义常量的函数是什么
  • 交易性金融资产入账价值怎么计算
  • 企业特殊工种不备案可以补报备吗
  • mysql注入的修复方式
  • 固定资产清理的审计目标不包括
  • 国有企业投资程序
  • 车间装修预算表
  • 商场一般是怎么缴纳租金的
  • 递延收益金额怎么算
  • 材料采购合同印花税税率
  • 微信转账截图可以作为会计凭证吗
  • tabletpc输入面板怎么打开
  • fedora workstation怎么安装
  • 内核版本能升级吗
  • win10企业版怎么连接无线网
  • svchost占用
  • windows7无法继续安装
  • dos批处理命令大全
  • perl read
  • jquery 字符串以什么开头
  • apache使用端口
  • django图片加载不出来
  • js设置滚动条滚到底部
  • node.js中的http.response.removeHeader方法使用说明
  • js设置密码长度
  • php使用js
  • 使用ngView配合AngularJS应用实现动画效果的方法
  • 刀具路径轨迹模拟
  • js 设计模式
  • jquery使用教程
  • 小规模和一般纳税人的划分标准
  • 长沙房产税如何征收
  • 厦门红大税务师事务所怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设