位置: 编程技术 - 正文

学习php设计模式 php实现工厂模式(factory)(php设计模型)

编辑:rootadmin

推荐整理分享学习php设计模式 php实现工厂模式(factory)(php设计模型),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php23种设计模式,php常见设计模式和用途,php常用设计模式(大总结),php 设计模式,php23种设计模式,php 设计模式 鸟哥,php 设计模式 鸟哥,php设计模式六大原则,内容如对您有帮助,希望把文章链接给更多的朋友!

学习php设计模式 php实现工厂模式(factory)(php设计模型)

一、意图定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使用一个类的实例化延迟到其子类【GOF】二、工厂模式结构图

三、工厂模式中主要角色抽象产品(Product)角色:具体产品对象共有的父类或接口具体产品(Concrete Product)角色:实现抽象产品角色所定义的接口,并且工厂方法模式所创建的每一个对象都是某具体产品对象的实例抽象工厂(Creator)角色:模式中任何创建对象的工厂类都要实现这个接口,它声明了工厂方法,该方法返回一个Product类型的对象。Creator也可以定义一个工厂方法的缺省实现,它返回一个缺省的的ConcreteProduct对象具体工厂(Concrete Creator)角色:实现抽象工厂接口,具体工厂角色与应用逻辑相关,由应用程序直接调用以创建产品对象。四、工厂模式的优点和缺点工厂模式的优点:工厂方法模式可以允许系统在不修改工厂角色的情况下引进新产品。工厂模式的缺点:客户可能仅仅为了创建一个特定的ConcreteProduct对象,就不得不创建一个Creator子类五、工厂模式适用场景1、当一个类不知道它所必须创建的对象的类的时候2、当一个类希望由它的子类来指定它所创建的对象的时候3、当类将创建对象的职责委托给多个帮助子类的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候六、工厂模式与其它模式抽象工厂模式(abstract factory模式):Abstract Factory模式经常使用工厂方法来实现Template Method模式: 工厂方法通常在Template Methods中被调用七、工厂模式PHP示例

八、区分工厂方法模式与简单工厂模式工厂方法模式与简单工厂模式再结构上的不同不是很明显。工厂方法类的核心是一个抽象工厂类,而简单工厂模式把核心放在一个具体类上。工厂方法模式之所以有一个别名叫多态性工厂模式是因为具体工厂类都有共同的接口,或者有共同的抽象父类。当系统扩展需要添加新的产品对象时,仅仅需要添加一个具体对象以及一个具体工厂对象,原有工厂对象不需要进行任何修改,也不需要修改客户端,很好的符合了”开放-封闭”原则。而简单工厂模式在添加新产品对象后不得不修改工厂方法,扩展性不好。工厂方法模式退化后可以演变成简单工厂模式。

标签: php设计模型

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

上一篇:学习php设计模式 php实现原型模式(prototype)(php 设计模式 鸟哥)

下一篇:学习php设计模式 php实现适配器模式(php 设计模式 鸟哥)

  • 资金账簿印花税怎么算
  • 偷税行为五年后被发现要接受行政处罚吗?
  • 电子发票会自动发送到邮箱吗
  • 金融商品转让和持有至到期都需要缴纳增值税吗
  • 企业所有者权益科目有哪些
  • 会计没签字出纳付款违法么
  • 外商投资企业的组织形式,组织机构
  • 关于年底双薪和分红问题的处理
  • 销售费用的进项税额转出会计分录
  • 即征即退免所得税吗
  • 费用退回现金如何入账
  • 所有者权益科目编码
  • 核销贷款收回要冲减资产减值损失吗
  • 建筑业为员工购的意外险可以所得税抵吗?
  • 增值税普通发票几个点
  • 增值税发票时效性
  • 实收资本印花税最新规定
  • 转让知识产权的本人申明
  • 应收账款及票据
  • 出售单位车辆如何处理业务?
  • 怎样保持ppt在所有电脑上不变
  • 在建工程转固定资产后如何计提折旧
  • 企业开票附加税
  • 增值税附加怎么入账
  • 在win7系统中文件属性有哪些
  • 总分机构什么时候备案
  • win10文件夹状态已共享怎样取消
  • 操作系统的类型和比较
  • php读取目录
  • 长期应收款在哪一章
  • 包装物逾期是什么意思
  • js调用函数的几种方法
  • 残障金什么时候开始交
  • 哪一款macbook
  • 暂估入库结转成本税务规定
  • 年初结转增值税怎么算
  • 企业向个人借款利息如何缴纳增值税
  • mysql性能监控工具和调优
  • 资产减值损失如何计算
  • 会计凭证的装订范围包括
  • sql自定义
  • 个税申报可以去税务局吗
  • 公司买卖股票亏损了 要交企业所得税吗
  • 收到所得税退税现金流量选哪个
  • 办公室装修费计入长期待摊费用
  • 固定资产收购方案案例
  • 房租转租怎么处理合法
  • 青苗赔偿规定
  • 开发无形资产的支出
  • 没有进货发票可以开票吗?
  • 配件盘点出现盘盈盘亏后如何处理
  • 库存现金期末余额在哪方
  • 营改增后计税依据
  • 收到保险公司赔款
  • 公司章程约定的出资时间
  • 长期待摊费用怎么记账
  • 外埠存款怎么读
  • centos7修改mtu
  • win10屏幕自动变黄
  • 如何用pe弄双系统引导
  • linux的ps命令用法
  • Win10 PC RS2快速预览版14926更新与修复内容汇总
  • gcasSWUpdater.exe是什么进程 有什么作用 gcasSWUpdater进程查询
  • mac命令行终端快捷键
  • linux安全工具
  • jquery邮箱正则表达式
  • vue仿知乎
  • 噩梦剧情
  • 从零开始学什么
  • 静态文件格式有哪些
  • javascript如何学
  • jquery调用json数据
  • jquery选择器总结
  • 电子税务局内蒙古自治区
  • 静海去天津的公交
  • 电子税务局怎么添加银行账户信息
  • 发票查验怎么弄
  • 药店迁址流程2019
  • 税控盘离线开票时间怎么查
  • 销售黄金饰品
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设