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


相关推荐

  • System.setProperty()「建议收藏」

    System.setProperty()「建议收藏」/**设置指定键对值的系统属性*setProperty(Stringprop,Stringvalue);**參数:*prop-系统属性的名称。*value-系统属性的值。

    2022年7月4日
    45
  • 项目开发中DEV、QAS、PRD是什么意思

    开发常用名词说明IDES:InternetDemonstrationandEvaluationSystem交互式演示与评估系统DEV:DevelopmentSystem,开发系统QAS:QualityAssuranceSystem,质量保证系统UAT:UserAcceptance…

    2022年4月4日
    137
  • java构造函数可以重载么_Java 构造函数和函数重载「建议收藏」

    java构造函数可以重载么_Java 构造函数和函数重载「建议收藏」构造函数:⑴方法名和类名相同,而且没有返回类型(包括void也没有);⑵没有返回值;⑶如果没有输入构造函数,jvm会自动帮我们创建一个不带参数,没有任何函数体的的构造函数;如果我们手动的创建了其他构造函数,就不会帮我们创建这个不带参数的构造函数了;⑷一般情况下,如果想要实现自己的构造方法,最好重载一个不带参数的构造方法。函数重载:指多个函数可以使用同一个函数名,只要它们参数列表不同,将意义相近…

    2022年6月18日
    47
  • stream.map的用法_stream

    stream.map的用法_stream使用Stream流时发现其中的map方法使用不好容易理解,以一个小案例详细探讨Stream中map的使用。案例涉及知识点:1、Stream中of方法传入可变参数2、Stream中map元素类型转化方法3、Function匿名接口,自定义类匿名对象的使用4、Lambda表达式为了便于理解,首先借鉴其他博客中的说法,stream()优点无存储。stream不是一种数据结构,它只是某种数据源的一个视图,数据源可以是一个数组,Java容器或I/Ochannel等。为函数式编程而生。对strea

    2022年9月8日
    2
  • github设置添加SSH

    github设置添加SSH

    2021年10月12日
    39
  • linux安装pip命令安装_centos安装pip

    linux安装pip命令安装_centos安装pip对于Python开发攻城狮及系统运维攻城狮来说,pip的安装那是必不可少的一个过程。鉴于网上很多安装过程写得过于复杂,本人根据pip官方手册总结了以下最为快捷的安装方式,只需要2步操作。curlhttps://bootstrap.pypa.io/get-pip.py-oget-pip.pypythonget-pip.py或者直接运行以下代码:#!/usr/bin/env…

    2022年9月16日
    0

发表回复

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

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