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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • BIEE-1 初始化块和变量[通俗易懂]

    BIEE-1 初始化块和变量[通俗易懂]一、初始化块biee初始化块分为资料库、会话两类资料库初始化块:可批量同事定义变量的值配置:1.“编辑数据源”写入sql并分配地址池;2.“编辑数据目标”配置变量,变量的值和初始化sql结果是按顺序匹配的,一对一关系;3.“刷新时间间隔”默认是1小时,即每个一小时系统就会自动执行一遍此初始化块语句,并把结果存在缓冲池中,用户登录系统时,从缓冲池中

    2025年5月24日
    1
  • Jetson TX1 硬件配置概览[通俗易懂]

    Jetson TX1 硬件配置概览[通俗易懂]GPIO、I2C、I2S、SPI、带流控制的TTL UART等接口  丰富的接口给了今后基于Jetson TX1进行扩展开发的无限可能,即可以通过TTL UART、GPIO等接口实现其它单片机、嵌入式系统的所有功能外,还能通过自身强大的性能,升任其它单片机、嵌入式系统,如树梅派等无力支撑的高数据密度业务和高处理实时性业务,如智能机器人,机器人,无人驾驶汽车等。摄像头扩展头 

    2022年6月15日
    45
  • Python矩阵计算

    Python矩阵计算1、构建矩阵*1)、集合形式建立矩阵asmatrix()函数。(1)数组形式建立矩阵函数matrix(data,dtype=None,copy=True),data为数值类型的集合对象,dtype指定输出矩阵的类型,copy=True进行深度拷贝建立全新的矩阵对象,copy=False仅建立基于集合对象的视图(深度拷贝、视图的原理见5.2节内容)。功能类似于mat()函数、importnumpyasnpa=np.array([[1,2,3],[4,5,6],[7,8,9]])

    2022年6月28日
    34
  • spring 的REST风格是什么

    spring 的REST风格是什么spring 的REST风格是什么

    2022年4月24日
    31
  • 微信小程序+php 授权登陆,完整代码

    微信小程序+php 授权登陆,完整代码先上图实现流程:1、授权登陆按钮和正文信息放到了同一个页面,未授权的时候显示登陆按钮,已授权的时候隐藏登陆按钮,显示正文信息,当然也可以授权和正文分开成两个页面,在授权页面的onload里判断是否

    2022年7月3日
    23
  • Pycharm使用技巧——自动调整代码格式汇总!自动化神器!

    Pycharm使用技巧——自动调整代码格式汇总!自动化神器!代码自动填充了空格问题在使用pycharm的代码编辑器时,常常懒得写空格,如下图,但这是不符合代码规范的,而且也会影响可读性。解决方法pycharm有自动调整代码格式的快捷键,默认为Alt+Ctrl+L,按下快捷键后,代码自动填充了空格。自动对齐代码问题在使用pycharm的代码编辑器时,有点时候copy的代码的没有按照代码格式对齐,如下图,但这是不符合代码规范的,而且也会影响可读性。解决方法pycharm有自动调整代码格式的快捷键,默认为Alt+Ctrl+L

    2022年8月27日
    24

发表回复

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

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