php 工厂模式

php 工厂模式一、 什么是工厂模式工厂类调用自身静态方法来生产对象实例工厂类:负责生成其他对象的类或方法途径:调用自身静态方法结果:一个实例对象工厂模式有一个关键的构造,根据一般原则命名为Fac

大家好,又见面了,我是你们的朋友全栈君。

一、 什么是工厂模式

  工厂类调用自身静态方法来生产对象实例

  工厂类:负责生成其他对象的类或方法

  途径:调用自身静态方法

  结果:一个实例对象

  工厂模式有一个关键的构造,根据一般原则命名为Factory的静态方法,然而这只是一种原则,虽然工厂方法可以任意命名这个静态还可以接受任意数据的参数,必须返回一个对象。

 

二、 为什么需要工厂模式

  1. 工厂模式可以将对象的生产从直接new 一个对象,改成通过调用一个工厂方法生产。这样的封装,代码若需修改new的对象时,不需修改多处new语句,只需更改生产对象方法。
  2. 若所需实例化的对象可选择来自不同的类,可省略if-else多层判断,给工厂方法传入对应的参数,利用多态性,实例化对应的类。

    优点:增加代码的可拓展性,减少业务的耦合性,减少代码量

 

三、 代码实现

  1. 工厂类通过不同的参数 返回对应的业务处理类:
    <span role="heading" aria-level="2">php 工厂模式

     

     

  2. 工程业务接口类 统一定义业务接口:
    <span role="heading" aria-level="2">php 工厂模式

     

  3. 工厂调用类 继承工厂类 接收类型参数 实例化对应工厂对象 执行业务方法:
    <span role="heading" aria-level="2">php 工厂模式

     

  4. 具体业务处理类 实现接口方法:
    <span role="heading" aria-level="2">php 工厂模式

     

     

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155069.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 运维标准化工作流程

    运维标准化工作流程运维标准化工作流程:http://wenku.baidu.com/link?url=bt1ZVijjS35mSSMoDbs4rgWtrG0zBY8a-zuIKPfi5TGehD6XHD8RzscniHsOtODaKkqCG7ba5DeUHLS6sqes03JdEdOYEK1OPviwsl9wv0_ 转载于:https://blog.51cto.com/jackysz…

    2022年5月26日
  • maven编译报错:java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags[通俗易懂]

    maven编译报错:java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags[通俗易懂]错误日志:[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.1:compile(default-compile)onprojecthelloworld:Fatalerrorcompiling:java.lang.ExceptionInInitializerError:c…

    2022年5月28日
  • 精进Spring—Spring中定时器实现

    在一些工作需要使用到定时器,Spring很好的集成了定时器的功能! 在Spring 中使用Quartz,本文介绍Spring3.0以后自主开发的定时任务工具,spring task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,

    2022年3月1日
  • 加工机械双探头高频读写器CK-FR102AN用户开发手册「建议收藏」

    加工机械双探头高频读写器CK-FR102AN用户开发手册「建议收藏」加工机械双探头高频读写器CK-FR102AN用户开发手册CK-FR102AN系列双探头高频读写器是一款基于射频识别技术的高频RFID标签读卡器,读卡器工作频率为13.56MHZ,支持对I-CODE2、I-CODESLI等符合ISO15693国际标准协议格式标签的读取。FR102一款轻量型RFID读头,采用菲尼克斯定制外壳,体积小、自带工控箱安装滑轨卡扣,易安装。同时支持两个探头工作,通过电缆拉长的探头在加工机械应用场景上可以灵活安装,支持姆龙plc的ethernetip通讯。读写器选型型号

    2022年6月22日
  • mac idea 2021 激活码【注册码】

    mac idea 2021 激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
  • 二叉树的层序遍历(两种方法实现)

    二叉树的层序遍历(两种方法实现)两种方法实现二叉树的层序遍历1、说明二叉树的层序遍历是面试经常会被考察的知识点,甚至要求当场写出实现过程。层序遍历所要解决的问题很好理解,就是按二叉树从上到下,从左到右依次打印每个节点中存储的数据。如下图:先序遍历:A→B→D→C中序遍历:B→D→A→C后续遍历:D→B→C→A层序遍历:A→B→C→…

    2022年5月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号