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


相关推荐

  • MySQL数据库:使用show profile命令分析性能

    MySQL数据库:使用show profile命令分析性能

    2021年4月9日
    182
  • pycharmdjango项目实战_pycharm django环境搭建

    pycharmdjango项目实战_pycharm django环境搭建创建项目我们创建django项目有两种方式,命令行方式和使用pycharm工具创建,本文就介绍常用的pycharm工具创建首先点击django,输入项目的名称,选择创建好的虚拟环境,最后点击cre

    2022年7月31日
    7
  • FormatDateTime说解[通俗易懂]

    描述返回一个日期或时间格式的表达式。语法FormatDateTime(Date[,NamedFormat])FormatDateTime函数语法有如下几部分:部分描述Date必需的。要被格式化的日期表达式。NamedFormat可选的。数字值,表示日期/时间所使用的格式。如果忽略该值,则使用vbGeneralDate。设置值N…

    2022年4月10日
    57
  • 无线网首选dns服务器怎么设置,首选dns服务器地址如何设置

    无线网首选dns服务器怎么设置,首选dns服务器地址如何设置首选dns服务器地址如何设置dns服务器地址如何设置?DNS(DomainNameServer,域名服务器)是进行域名(domainname)和与之相对应的IP地址(IPaddress)转换的服务器。DNS中保存了一张域名(domainname)和与之相对应的IP地址(IPaddress)的表,以解析消息的域名。域名是Internet上某一台计算机或计算机组的名称,用于在数据传输…

    2022年4月28日
    99
  • 微信个人号机器人

    微信个人号机器人前段时间公司需求开发一套自定义的微信机器人,需求是可以自批量添加好友,自动聊天,自动回复,发朋友圈,转发语音,以及定时群发等,还可以提取聊天内容,进行数据汇总,what????微信还可以这样做!!调研开发了3个月,3个月啊!!!(主要被各种技术走偏路),终于成功了,都是走过的心酸泪,分享给大家,大家学习完,记得给我点个赞!!!大家一般需求点无非是以下几个需求:1.开发个人微信营销系统2.开发自定义的微信机器人,3.开发微信智能聊天客服系统4.定制行业内的群数据分析功能需求很

    2022年5月7日
    48
  • samba文件共享服务器,全网最详细的samba文件共享服务![通俗易懂]

    samba文件共享服务器,全网最详细的samba文件共享服务![通俗易懂]了解samba:1.samba是linux共享文件系统,将SMB(服务消息块)/CIFS(通用网络文件系统)协议在linux中进行实现,让linux、unix、windows系统之间可以相互访问文件共享。2.samba服务相关知识点:1samba是C/S(客户端/服务器)架构,2监听TCP/139及TCP/445(由smbd程序监听),监听UDP/137和UDP/138(由nmbd程序监听)…

    2022年9月25日
    3

发表回复

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

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