位置: 编程技术 - 正文

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

  • 个税汇缴常见问题
  • 如何合伙注册公司
  • 需要登记的特殊药品
  • 个税申报缴费
  • 企业买车算固定收入吗
  • 外商投资企业采取发包、出租经营
  • 增值税计算方式举例
  • 销售多余材料会计分录怎么做
  • 企业捐赠不动产 会计分录
  • 营业利润为负数说明什么
  • 转让名额协议
  • 公司如何向税务部门举报
  • 二手房有不动产统一发票吗
  • 个人购买办公楼出租要交税吗
  • 减值准备可以转回是什么意思
  • 金税盘密码忘记了打客服有用吗?
  • 无形资产怎么核算成本
  • 个税系统怎么查个人申报数据明细
  • 退了货的发票还能用吗
  • 卖护肤品赚钱吗
  • 建筑业销项税和进项税计算
  • composer.json和composer.lock
  • 关闭win10系统更新有什么后果
  • 经营免租期是什么意思
  • 深入理解php内核
  • php proto
  • vue移动和pc两套代码
  • 土地使用税计入管理费用还是税金及附加
  • 一般纳税人取得普票会计分录
  • php导入php文件
  • thinkphp接收ajax数据
  • 长期股权投资
  • json解析漏洞
  • ajax提交表单数据
  • 公司的一项专利多少钱
  • 预提费用的会计分录2018
  • 没有发票的费用汇算清缴的时候怎么调出来
  • jdbc描述
  • PostgreSQL分区表(partitioning)应用实例详解
  • 购买牵引车和挂车购车流程
  • 资产负债表应交税费为负数
  • 软件信息技术服务业
  • mssql分布式数据库
  • sqlserver附加数据库语句
  • 新办公司实收资本怎么算
  • 股权投资所得是什么
  • 赠送商品入什么科目
  • 减免的附加税要申报吗
  • 存货科目计算公式是什么
  • 劳务支出如何做账
  • 企业商业汇票到期款项存入银行
  • 社保退回的钱怎么做会计分录
  • 结转公允价值变动
  • 健身中心开的服装店
  • 计提应付职工薪酬在借方还是贷方
  • 技术咨询费属于什么类别
  • 转出投资款计入现金流量表的哪里
  • 营业收入包括哪些内容?
  • 发票专用章需要备案吗?
  • 咨询费计入什么明细科目
  • mac更换软件图标
  • 如何隐藏windows激活水印
  • xp系统开机出现英文怎么办
  • win8.1如何更改密码
  • win8应用商店在哪
  • centos fuser
  • 加载的读音
  • win10微软更新
  • 微信公众号javascript
  • andengine学习,《android游戏开发实践指南》详解
  • ie11滚动条样式
  • unity3d游戏引擎支持几种平台发布?
  • jQuery实现两个下拉列表关联
  • css hacks
  • linux运行nginx
  • js鼠标滑动特效
  • 不用javascript可以吗
  • python mem
  • 贵州铜仁苗族自治区
  • 云南医保可以网上买药吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设