位置: 编程技术 - 正文

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

  • 购买的携税宝费用怎么做账?
  • 未交增值税借贷方负数表示
  • 公司购入的财务怎么做账
  • 资本公积转实收资本要交税吗
  • 工商年报纳税总额怎么算
  • 施工劳务企业要交增值税吗
  • 查账征收企业所得税年报怎么填
  • 公对公转账需要交税吗?
  • 技术转让所得的税收优惠
  • 房产原值怎么计算房产面积
  • 个税专项附加扣除
  • 所得税预提多了怎么处理
  • 调财务报表怎样调整
  • 企业核税需要什么资料
  • 年薪制有什么好处
  • 发票上有个含税金额什么意思?
  • 租的厂房再转租怎么开票抵扣
  • 个人独资企业核定
  • 公司变更监事需要换营业执照吗?
  • 服务业增值税如何计算
  • 拍卖所得房产计税依据
  • 房屋维修开的发票有哪些
  • 管理不善造成的损失的会计分录
  • 桌面或文件夹内无图标
  • win 11 发布
  • 在win7中如何设置屏幕保护程序
  • 没有组策略权限
  • 用支票购入厂部办公用品2000元,车间办公用品1000元
  • 售后租回融资租赁帐务处理怎么做?
  • vue.3
  • webgl1.0
  • bzip2命令压缩后无法保存原文件
  • 公司的归属权
  • 公司缴个人所得税吗
  • 租用办公室装修费用会计分录
  • 零申报企业所得税季度申报表怎么填写
  • 商品流通企业的含义
  • 在建工程盘盈盘亏的账务处理
  • 新准则下开办费摊销
  • 交强险必须要买嘛
  • 销售退回特殊情形有哪些
  • 领款单有法律效力吗
  • 机械租赁的主要工作内容
  • 银行预留印鉴是啥
  • 小规模纳税人加工劳务的税率是多少
  • 虚开发票但是没有成本如何做账?
  • 购买固定资产没收到发票怎么做账
  • 个人独资企业与一人公司的区别与联系
  • 个体户不交税会判刑吗?
  • mysql获取所有表的数据量
  • sqlserver Union和SQL Union All使用方法
  • win7系统开启telnet服务
  • ug实体命令怎么使用
  • win7系统桌面图标不见了右键无反应
  • linux处理文件命令
  • Linux x86_64下安装Flash Player 9
  • centos如何安装vim
  • centos6 systemctl
  • 在Linux系统中安装虚拟window
  • linux查看sh
  • win8桌面键盘
  • win8怎么进入桌面系统
  • win8怎么打开ie浏览器
  • linux html编辑器
  • win8快速启动怎么开启
  • 刷新页面jquery
  • 自动化软件安装工具
  • 杨辉三角的代码
  • html中<
  • Python HTTP客户端自定义Cookie实现实例
  • Node.js中的construct
  • shell脚本进程号
  • javascript怎么关
  • 中通快递广东省内收费标准
  • 国税系统升级后怎么添加办税人
  • 北京税务局待遇有住宿吗
  • 北京鼓楼医院网上挂号app
  • 镇江涨潮退潮时间表
  • 台湾大学会计硕士
  • 劳务费用 扣税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设