位置: 编程技术 - 正文

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

  • 消费税是什么意思大白话
  • 所得税退税账务处理
  • 出口退税申报系统安装路径
  • 一般纳税人发生特定应税销售行为
  • 减免税流程
  • 增值税抵扣了还能作废吗
  • 税负统计口径
  • 纳税人识别号在哪里能查到
  • 火车票可以抵扣多少增值税
  • 公司购买的打印机
  • 讲师讲课费标准2019
  • 小公司可以不交五险一金吗
  • 纳税人多缴税款的退还期限
  • 物流企业账务流程
  • 哪些银行承兑汇票不能收的名单
  • 外购摩托车从销项税额中怎么抵扣?
  • 企业营改增对企业税负影响分析
  • 金税控系统发票打印设置
  • 纳税人提供植物养护服务按照什么服务缴纳增值税
  • 开办费摊销时间税法规定
  • 发票开了款没付
  • 发生的费用可以直接计入主营业务成本吗
  • mac怎么修改图片格式jpg
  • 电脑装机光盘
  • os x yosemite dp6下载 os x 10.10 dp6官方下载地址
  • linux增加inode
  • php字符串赋值
  • 电脑关机了wifi还能检测到在线
  • php空间怎么用
  • gba是什么文件
  • php require include
  • 高新技术产业的税收优惠
  • 企业短期借款的债权人均为银行
  • 待抵扣进项税额和进项税额的区别
  • 法院判定支付对方诉讼费,我可以入账吗
  • 激光器原理及应用
  • mvc框架工作流程
  • PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
  • 汽车以旧换新怎么操作
  • 补提折旧会计处理
  • 契税属于哪种说法
  • wordpress安装主题致命错误
  • python解释器的多种使用
  • 农机融资租赁公司联系方式
  • mongodb的安装配置
  • python正态分布采样
  • 报验户如何管理
  • 日常费用明细表格式
  • 印花税购销合同改为买卖合同
  • 房屋租赁需要计提印花税吗
  • mysql where join
  • SQL中Exists的用法
  • 项目差旅费可以直接入成本吗
  • 做模具怎么找客户
  • 发票入账是什么意思
  • 制作费用和管理费用
  • 购车费用怎么进行账务会计处理
  • 装载机如何计提折旧费用
  • 如何收信用卡付款
  • 开具的发票是否为印花税的应税凭证?
  • 企业的支出包括( )支出
  • 价税分离怎么算
  • 如何科学设置运动负荷
  • sqlserver 获取字符位置
  • sql server数据库查询语句
  • windows开机提示无法登录到你的账户
  • linux系统文件压缩命令
  • windows10推送
  • javascript的语法在哪一项中规定
  • unity打包安卓apk
  • js的文件操作
  • bat弹窗
  • unity f
  • 寻找志同道合的小伙伴
  • 企业未代扣代缴个税能退税吗
  • 税务工作意见和建议
  • 全资子公司和全资子企业的区别
  • 河北省国家税务局电子税务局官网
  • 耐心服务的名言警句
  • 个人工资所得税缴纳标准2023年
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设