位置: 编程技术 - 正文

PHP常用的三种设计模式汇总(php常用的三种设置方式)

编辑:rootadmin

推荐整理分享PHP常用的三种设计模式汇总(php常用的三种设置方式),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php常用设计模式(大总结),php常用的设计模式有哪些,php常用设计模式(大总结),php常用的三种设置方法,php常用设计模式和应用场景,php常用的三种设置方式,php常用的三种设置方法,php常用的三种设计方法,内容如对您有帮助,希望把文章链接给更多的朋友!

本篇文章是学习PHP中常用的三种设计模式的笔记及总结,不管采用哪一门语言开发什么,几乎都会使用到设计模式,我们为什么需要设计模式呢?它的诞生对于我们开发人员来说有什么样的作用与意义呢?

相信做iOS开发的人员对设计模式也会挺熟悉吧?比如单例设计模式、工厂设计模式、观察者模式、MVC框架结构设计模式等。

接下来我们一起来学习PHP中最常用的三种设计模式:单例设计模式、工厂设计模式和观察者设计模式。

单例设计模式

所谓单例模式,即在应用程序中最多只有该类的一个实例存在,一旦创建,就会一直存在于内存中!

单例设计模式常应用于数据库类设计,采用单例模式,只连接一次数据库,防止打开多个数据库连接。

一个单例类应具备以下特点:

单例类不能直接实例化创建,而是只能由类本身实例化。因此,要获得这样的限制效果,构造函数必须标记为private,从而防止类被实例化。

需要一个私有静态成员变量来保存类实例和公开一个能访问到实例的公开静态方法。

PHP常用的三种设计模式汇总(php常用的三种设置方式)

在PHP中,为了防止他人对单例类实例克隆,通常还为其提供一个空的私有__clone()方法。

单例模式的例子:

工厂设计模式

工厂设计模式常用于根据输入参数的不同或者应用程序配置的不同来创建一种专门用来实例化并返回其对应的类的实例。

我们举例子,假设矩形、圆都有同样的一个方法,那么我们用基类提供的API来创建实例时,通过传参数来自动创建对应的类的实例,他们都有获取周长和面积的功能。

观察者设计模式

观察者模式是挺常见的一种设计模式,使用得当会给程序带来非常大的便利,使用得不当,会给后来人一种难以维护的想法。

什么是观察者模式?一个对象通过提供方法允许另一个对象即观察者 注册自己)使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。这些观察者使用该信息执行的操作与可观察的对象无关。结果是对象可以相互对话,而不必了解原因。观察者模式是一种事件系统,意味着这一模式允许某个类观察另一个类的状态,当被观察的类状态发生改变的时候,观察类可以收到通知并且做出相应的动作;观察者模式为您提供了避免组件之间紧密耦。看下面例子你就明白了!

小结

初入PHP的世界,目前只了解这些基本的设计模式,慢慢学着去应用!如果文中有不对之处,请在评论中指出,我会在明确之后更正文章内容!

PHP中include/require/include_once/require_once使用心得 最近一直在抽时间来学习PHP,据说PHP是世界上最好的语言,于是各大论坛炸开了锅!哈哈,我们这里不是来讨论哪门语言是最好的语言,我们是在学习PH

PHP打印输出函数汇总 本篇文章一直来学习PHP中所有用于输出信息的函数,分类比较来学习其相同点与不同点,掌握日常开发中必备的技巧。开发就一定需要调试代码,而PHP

总结对比php中的多种序列化 前言序列化是将对象状态转换为可保持或可传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存

标签: php常用的三种设置方式

本文链接地址:https://www.jiuchutong.com/biancheng/301718.html 转载请保留说明!

上一篇:php微信开发接入(php开发接口)

下一篇:PHP中include/require/include_once/require_once使用心得

  • 外籍人员税收优惠政策
  • 增值税专票如何作废
  • 出口免税收入会退税吗
  • 递延所得税什么时候确认
  • 税控服务费全额抵扣增值税申报表中哪一栏
  • 公司法人必须办社保吗?
  • 代购货物的缴税情况
  • 农产品收购发票可以跨区域开吗
  • 国有资产转让房产
  • 免征增值税的免税政策
  • 公司名称房产和房地产区别
  • 外聘人员劳务费入什么科目
  • 保险赔款个人所得税计算
  • 商品互换的概念
  • 产品不合格造成客户损失怎么赔付
  • 企业所得税扣除项目及标准
  • 非税收入一般缴款书可以抵扣吗
  • 产品销售员
  • 母子公司可以开具资金占用费
  • 住宿发票的税率0
  • 退税上传,申报怎么操作
  • 公司为员工承担的个税可以税前扣除吗
  • 2月发1月工资个税怎么算
  • 建安类增值税专用发票什么时候改的
  • 商业银行流动性覆盖率的最低监管标准为
  • 汇算清缴的年报在哪里查询
  • 住宿费进哪个科目
  • 其他权益性无形资产的进项税额抵扣
  • 生物制品的生产过程及设备
  • 双系统怎么卸载ubuntu
  • 交了预付款后,一方违约怎么处理
  • 一般纳税人出租其2016年4月30日前取得的不动产
  • 进口应税消费品的组成计税价格为
  • microsoft word安装
  • 广告公司广告费会计分录
  • win10下载软件被阻止安装怎么办
  • php的数组函数
  • php的用处
  • 长春花怎么养才能爆花
  • php可以做什么脚本
  • 发票多盖了一个发票章咋办
  • 供货商倒闭未缴增值税
  • 利润表项目本期怎么算
  • 拥有自我意识的动物有哪些
  • 损失函数是什么
  • yolov5的使用
  • PyTorch深度学习实战 | 基于ResNet的人脸关键点检测
  • ci框架的优缺点
  • 帝国cms视频教程
  • 帝国cms真的很好用
  • 帝国cms模板怎么样用
  • 预提费用汇缴时间怎么算
  • 普票需要填写全额发票吗
  • 接受捐赠按什么价值入账
  • 对公账户一直没有对账,会有什么后果吗?
  • 生产部的管理人员算什么费用
  • 出纳需要填写会计凭证吗
  • 关联方资金往来是否收取利息
  • 权益法下股权投资包括
  • 电动车折旧年限及残值
  • 处置全资子公司合并报表
  • 个人保险发票能做账吗
  • 施工方怎么开发票
  • 会计凭证装订的步骤
  • freebsd怎么安装软件
  • solaris 11.4
  • win8的应用商店
  • linux 更改目录名
  • 找不到config/index taro
  • I810 Graphics LINUX Driver的安装
  • Android之Notification-android学习之旅(二)
  • github常用操作
  • cmd命令怎么重启
  • unity控制相机旋转
  • linux 中的atq命令
  • unity mesh bounds
  • python中闭包的作用
  • JavaScript基础语法详解
  • 江西省发票综合服务平台
  • 如何在国税网查看社保人员信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设