位置: 编程技术 - 正文

学习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 csrf攻击
  • 预训练的目的
  • 工程项目成本核算的依据主要有
  • 目标检测yolo算法
  • 费用科目在贷方表示
  • mysql触发器在哪里建
  • linux中mongodb启动
  • 小规模纳税人差额征收税率是多少
  • 企业季度所得税申报流程
  • 减免增值税记账
  • 长期股权投资实现的净利润权益法
  • 企业固定资产如何查询
  • 营业执照备案登记表
  • 水电费的会计分录
  • 什么是建筑服务的甲供工程
  • 收到海关进口关税怎么办
  • 进项已抵扣,退货发票怎么处理
  • 应收账款和应付账款属于什么科目
  • 利息与资金占用费
  • 存出投资款会计处理
  • 汇算清缴从业人数平均值怎么算
  • mysql分表实践
  • mysqldump mysqlpump
  • 联想笔记本在bios关闭触摸板
  • 如何提高windows7运行速度
  • linux 删除重复文件
  • 联想lenovo thinkpad c13 yoga
  • 怎么测试windows摄像头
  • 今后64位Win10 Mobile将是未来重点
  • 安装双系统ubuntu和win
  • win7系统摄像头图标不见了
  • linux bye
  • 双系统mac如何从mac系统启动
  • mac如何开启查找我的mac
  • linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)
  • win10系统的电脑
  • cocos2d-x教程
  • python rem
  • shell脚本循环复制文件
  • Unity的Attribute(特性)还算多吧
  • nodejs邮件
  • python库怎么用
  • python编写登录程序
  • 零基础入门安卓逆向
  • 月收入28000的个税
  • 工会经费扣除标准2022
  • 免税企业可以收增值税专票吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设