位置: 编程技术 - 正文

学习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 设计模式 鸟哥)

  • 税务行政诉讼名词解释
  • 给离退休人员发的短信
  • 超市小票能否入库
  • 账载金额和实际金额的区别
  • 严格财务报销程序
  • 食堂临聘人员的管理、考核
  • 员工备用金期末未报销怎么处理
  • 购买的固定资产什么时候折旧
  • 外商投资企业所得税法第八条
  • 企业贷款银行罚息可以减免吗?
  • 公司购入的房子如何抵押
  • 增值税留抵的原因
  • 普通发票打歪了可以用吗
  • 增值税计税依据包含消费税吗
  • 水电费差价收入计算增值税公式是怎样的?
  • 小规模纳税人减免增值税会计处理
  • 小区业主委员会归哪个部门管
  • 企业提供技术咨询服务的企税优惠政策
  • 企业的业务招待费多了好还是少了好
  • 退货入库流程图
  • 餐饮发票忘记作废也没冲红怎么处理?
  • 租车费增值税专用发票
  • 预付款能开发票吗?
  • 销售旧房增值税销售额怎么算
  • 工地买东西怎么记账
  • 没有系统U盘,电脑密码忘记了如何打开电脑
  • 未计提的上一年企业所得税
  • 替换重置的设备更新应考虑
  • 消费税和购置税怎么算
  • 一般纳税人购进农产品如何抵扣进项税额
  • 利息股息红利个人所得税税率
  • 逾期未收回包装物押金会计分录
  • php中header的用法
  • 增值税如何在报表里填写
  • 无运输工具承运业务的经营者适用免税政策
  • pytorch入门教程(非常详细)
  • 井下生产安全知识
  • 史密斯理工学院
  • 溢价收购股权会计处理案例
  • 民办非企业单位登记管理暂行条例
  • 激光slam入门教程
  • Python web开发基础教程的心得
  • php字符串型数据的定义方式
  • mysql 触发器
  • 什么情况下需要满足m>>m
  • mysql 执行动态语句
  • 合并报表存货的计税基础
  • 跨年费用账务处理
  • mysql命令行怎么用
  • 收到退回的文化事业建设费会计分录
  • 善意取得虚开增值税专用发票处理
  • 春节重要通知发放工资
  • 会计中借方和贷方各指什么
  • 应付账款算费用吗
  • 资产处置损益借贷方向表示什么
  • 工资补偿款是什么意思
  • 合伙企业对外投资收益怎么纳税
  • 差旅费包括哪些费用
  • 成本结转怎么结转
  • 公允价值模式下出售投资性房地产
  • 判断成本法核算方法
  • sql里面时间函数格式
  • apache not found
  • win7关闭混合睡眠
  • win7安装软件出现乱码
  • smsmon32.exe - smsmon32是什么进程
  • msdev.exe是什么
  • win8垃圾清理
  • 技术故事是什么意思
  • win 10 build
  • linux怎样过滤一个关键字
  • node. js教程
  • javascript 二维码
  • 《噩梦》
  • js随机生成6位数
  • Android调用jni获取mac地址
  • 税控盘时钟异常怎么办
  • 昆山市税务分局领导名单
  • e福州怎么帮家人登记
  • 重点税源企业税收分析报告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设