位置: 编程技术 - 正文

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

  • 什么是节税?
  • 印花税的征税对象是条例列举的凭证未列举的不征税
  • 递延所得税负债转回怎么理解
  • 自产产品用于业务招待费
  • 新政府会计制度衔接预算会计需做好的账目清理工作有
  • 财务软件怎么结转本年利润
  • 债券投资收益怎样计算
  • 一般纳税人销项税和进项税如何抵扣
  • 委托开发费用免所得税和增值税
  • 备用金现金日记账表格
  • 亏损企业捐赠支出怎么算
  • 新个税年终奖怎么申报
  • 股权转让交的税如何做账
  • 销售人员的提成一般是多少
  • 开增值税发票开户行怎么填?
  • 发票已入账跨年可以红冲重开吗
  • 企业个人所得税逾期未申报怎么办
  • 小规模纳税人进项税额怎么处理
  • 合同是怎么影响企业纳税的?
  • 怎么知道是不是强制执行
  • 发票专用章能刻章吗
  • 投资税收抵免
  • 增值税月末如何计算
  • 收到工会经费返还属于现金流量表哪
  • 拍短视频服务费怎么算
  • 发票登记薄的式样
  • 自产自用产品的会计处理
  • 苹果手机怎么修改默认输入法
  • 怎么修改以前年度的账
  • 缴税怎么入账
  • 结算劳务外包的工作内容
  • 退款后发票如何查询
  • php删除数组中重复的元素
  • 企业新产品销售收入数据
  • 网站伪静态有什么用
  • 工程施工科目下的间接费用怎么使用
  • 开源代码网站github
  • mm32开发教程
  • 公司租赁个人车辆怎么开发票
  • 流动资产的含义及常见项目
  • 商贸企业出口退税吗
  • 开收据可以列收入吗
  • vant的Uploader 文件上传,图片数据回显问题
  • phpipam使用
  • python字符串类型及操作
  • 确定负债排列顺序的依据
  • 土地出让金相关政策
  • 货物运输代理人
  • sqlserver时间戳数据更新时也修改默认时间
  • 企业的所得税税率怎么计算
  • 存货跌价准备的账务处理
  • 个人所得税能说明什么
  • 企业以现金形式发工资
  • 收到税务局退回的增值税税款怎么做账
  • 建筑施工企业如何预缴增值税税款
  • 退货回去需要把原包装保留吗
  • 出口退税包括
  • 应收账款怎么记录
  • 待摊费用属于流动负债吗
  • 世界杯猜测
  • 左右内边距代码
  • win8系统开机直接进入桌面
  • .ccc是什么文件
  • WIN7系统电脑对话框跟鼠标走怎样设置
  • linux双网卡双ip配置
  • win7开机黑屏只有一个鼠标箭头
  • window10的ie
  • win8谷歌浏览器出现无法访问此网站
  • linux block io
  • js获取checkbox选中的元素
  • python正则匹配url
  • unity 2d ik
  • 请问在javascript程序中
  • unity image fillamount
  • python讲解
  • 环保设备企业所得税优惠
  • 金税三期个税下载官网手机版
  • 廉租房取消之后有什么补贴
  • 新疆哪个城市最有发展前景
  • 德州市国土自然资源局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设