位置: 编程技术 - 正文

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

  • 商誉 会计
  • 特许经营权转让合同
  • 代扣代缴完税凭证是什么
  • 新办商贸企业是国企吗
  • 合伙人没有账目就说赔了合法吗
  • 顺风车公司可以开发票吗
  • 房地产开发企业预收款预缴增值税
  • 当月没有发生购销合同还要报印花税吗
  • 异地成立分公司
  • 贷款金融资产减值的会计分录怎么写?
  • 调增收入的会计分录
  • 运输费用 成本
  • 企业利用个体户走账
  • 广告制作选哪个专业好
  • 减税降费各项政策
  • 如果没有预缴就开票会怎样?
  • 对方开具红字发票过来怎么做进项税转出
  • 土地在会计中怎么处理
  • 调整上年度多计提费用
  • 小企业短期投资的核算应设置的会计科目有
  • 未担保余值的账户怎么查
  • 贷款利率计算公式表格
  • deepin如何设置网络
  • 收到外运公司托收海运运费单据1000美元
  • 企业所得税预缴申报
  • 借用资质(挂靠施工)的法律责任如何判断?
  • 补充养老保险的特点
  • clh锅
  • 社保和公积金个人缴纳在哪里查看
  • 农民专业合作社法
  • 退货款现金流量表填什么?
  • 土地出让金抵减增值税账务处理
  • 母公司资产包括子公司吗
  • 帝国cms简介标签
  • vue如何实现路由跳转缓存
  • 织梦自定义模型调用
  • 计提工资的时候计提个税吗
  • 钢管租赁如何跑业务
  • 企业转让无形资产的方式有
  • SqlServer2012中First_Value函数简单分析
  • 购销合同谁来做
  • 分公司可以在银行贴现吗
  • 结转的制造费用
  • 增值税怎么开
  • 筹建期间购买的五金工具计入什么科目
  • 接受小规模纳税人的货运服务
  • 研发和技术服务属于什么大类
  • 投资款如何界定
  • 折扣销售方式销售货物只要发票中有注明的折扣额
  • 单位社保缴费收费标准
  • 营改增账务处理实例
  • 银行信用贷款发放邮件后多久到账
  • 外汇申报要在几天之内
  • 弥补亏损后怎么做账
  • 财务人员怎么查出发票虚开?
  • 会计审核程序
  • MySQL Semisynchronous Replication介绍
  • mysql 备份和恢复
  • winxp每次开机都要输入用户名
  • windows10正式版
  • macbookair网页全屏
  • executor进程
  • U盘写保护怎么处理
  • Unable to execute dex: Multiple dex files define Lorg/cocos2dx/lib/Cocos2dxAccelerometer
  • cocos 2d x
  • 微信小程序实现人脸识别
  • 收藏了很久的句子
  • js去除hover样式
  • dos替换文件命令
  • css怎么控制图片位置
  • 使用jquery实现表单验证
  • android动画种类
  • 百度定位服务平台
  • unity3d物理现象模拟
  • JavaScript中的数据类型分哪为两大类?
  • 广东电子税务局报税操作流程视频
  • 天津地税局网上营业厅
  • 福利企业免税有哪些项目
  • 购进货物计入什么科目
  • 发票清单盖章样本图片
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设