位置: 编程技术 - 正文

学习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盘电脑无法启动怎么回事
  • macbookair重制系统
  • i912900k用什么主板好
  • macbookpro提醒事项
  • 主营业务成本如何算
  • 企业购地流程
  • 若依框架登录后跳转到指定页面
  • 超市代金券买什么最划算
  • php发送邮件代码
  • html怎么嵌入js
  • 代缴房产税代缴的人要负责吗
  • 库存现金月末怎么结转
  • php实现留言板功能
  • PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
  • 劳务所得和经营所得有啥区别
  • 什么是webrip
  • 个人所得税申报流程图
  • vue学不懂怎么办
  • 自动驾驶感知算法
  • python 序列化
  • 公交充值卡发票在哪里开
  • 非流动资产基金对应的新科目
  • 增值税发票抵扣期限是多久
  • 3月1日前包括什么意思
  • 借款合同按什么缴纳印花税
  • 织梦内容页模板修改
  • 增值税年底抵扣
  • 金税盘维护费抵扣
  • sql 封装
  • 工程结转成本分录
  • 公司购烟酒怎么入账
  • 小规模纳税人免税政策2022
  • 其他应收款的账龄如何计算时间
  • 外商投资的企业有哪些
  • 为什么生产成本不属于损益类科目
  • 保险由承租方还是出租方承担
  • 广州残保金如何计算
  • sql合并数据库
  • 批量修改 sql
  • win7系统如何一键还原
  • win7把声音设备禁用了怎么要回来
  • win8在哪里卸载软件
  • srvc32.exe - srvc32是什么进程
  • linux mount命令详解
  • office进程
  • win10 2020h1
  • powergenie是什么程序
  • linux日志数据种类
  • Linux通过shell脚本创建SVN版本库简化创建过程
  • android如何导入文件
  • 低端显卡n卡设置
  • js深拷贝的三种实现方式
  • Html5+jQuery+CSS制作相册小记录
  • IE下href 的 BUG问题
  • js实现左右拖动功能
  • js怎么获取密码框内容
  • 甘肃省网上税务登记流程
  • 宣传费是否要交消费税
  • 青年税务培训内容有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设