位置: 编程技术 - 正文

PHP解耦的三重境界(浅谈服务容器)(js解耦)

编辑:rootadmin

推荐整理分享PHP解耦的三重境界(浅谈服务容器)(js解耦),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php解耦的三重境界是什么,php解耦是什么意思,php解耦的三重境界指的是,php解耦的三重境界指的是,php解耦是什么意思,php解耦的三重境界是什么,php解耦是什么意思,php解耦的三重境界是什么,内容如对您有帮助,希望把文章链接给更多的朋友!

阅读本文之前你需要掌握:PHP语法,面向对象

在完成整个软件项目开发的过程中,有时需要多人合作,有时也可以自己独立完成,不管是哪一种,随着代码量上升,写着写着就“失控”了,渐渐“丑陋接口,肮脏实现”,项目维护成本和难度上升,到了难以维持的程度,只有重构或者重新开发。

第一重境界

假设场景:我们需要写一个处理类,能够同时操作会话,数据库和文件系统。我们或许会这么写。

境界特征:可以运行,但是严重耦合

写法缺点:

1.在公有函数中构造对象,一旦涉及到如数据库参数的变动,修改会有很大的工作量

2.负责设计Writer类的人员需要对DB等类的各种API要熟悉

有没有办法降低耦合度?

PHP解耦的三重境界(浅谈服务容器)(js解耦)

第二重境界(参数依赖)

假设场景:数据库地址因为客户不同,需要经常更换,调用到DB的类很多(假如有几十个),希望即使更改了数据库地址,也不用去修改这些类的代码。

虽然把DB类的构造移到了客户端,一旦涉及修改,工作量大大降低,但是新问题来了:为了创建一个Writer类,我们需要先创建好DB类,FileSystem类等,这对负责涉及Writer类的人来说,要求是很高的,他需要看很多其他类文档,一个个创建(可能还需要初始化),然后才能创建出他要的writer变量。

所以,我们希望,能有一种更好的写法,使得写Writer类的人,用一种更加快捷的接口,就能创建和调用他要的类,甚至连参数都不用填。

第三重境界(IOC容器)

经过前两重境界,我们希望能新增以下这些好处:

1.希望DB类,Session类,FileSystem类“拿来即用”,不用每次繁琐的初始化,比如写$db=new DB(arg1,arg2);这类语句。

2.希望DB等类型的对象是“全局”,在整个程序运行期间,随时可以调用。

3.调用DB等类型的程序员不用知道这个类太多的细节,甚至可以用一个字符串的别名来创建这样一个对象。

能够实现以上目标的就是IOC容器,可以把IOC容器简单的看成一个全局变量,并用关联数组把字符串和构造函数做绑定。

我们先实现一个容器类

服务注册(绑定)

容器依赖

标签: js解耦

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

上一篇:PHP控制反转(IOC)和依赖注入(DI)(php反转字符串方法)

下一篇:PHP计算近1年的所有月份(php计算时间)

  • 借款合同印花税减免优惠政策2023
  • 小规模纳税人可以开什么发票
  • 如何理解中医的补
  • 处置废品收入需要开票吗东奥
  • 基本户和一般户的用途
  • 汇算清缴调表不调账调的是哪张表
  • 离职补偿金怎么做账
  • 营业额和合同额的区别
  • 个体户餐饮经营范围全部怎么写
  • 科技公司增值税率是多少
  • 合伙企业个人所得税怎么申报
  • 由收款人签发,经付款人承兑
  • 员工迟到扣款该怎么处理
  • 没有房产证应该找谁
  • 关于固定资产的企业案例
  • 增值税抵扣凭证管理
  • 增资扩股投资方要交印花税吗
  • 申报截止日期前还能用吗
  • 公司让员工发红包
  • 如何处理走逃失的人
  • 赞助失败案例
  • 专项应付款现在叫什么
  • 应收账款年末余额过大
  • 异地项目预缴个人所得税
  • 收料单的会计分录怎么做
  • 低值易耗品与固定资产有相同的特征,表现在哪里?
  • 增值税账面和实际缴纳不平,怎样调整
  • 平均应收账款是什么
  • 开增值税发票折扣额怎么开出来的?
  • 职工福利费汇算清缴怎么填写
  • win11绿屏是什么原因
  • php源码怎么上传到服务器
  • 鸿蒙2.0 更新
  • 应付债券的会计处理
  • 企业商誉高好还是低好
  • 蝴蝶兰的养殖方法和注意事项 盆栽蝴蝶兰烂根
  • 资产证券化会计信息披露规范
  • 个人所得税申报流程图
  • 大前端最新
  • 微信小程序小窗口
  • 【K210】K210学习笔记七——使用K210拍摄照片并在MaixHub上进行训练
  • git t
  • 塔吊租赁人工合同
  • 织梦系统如何更换网站内容
  • sql server 2008设置角色
  • 结转材料成本差异所需科目
  • 弃置费用的摊余成本
  • 出售固定资产应收账款
  • 小微企业的认定标准企业所得税
  • 研发费用加计扣除的条件
  • 印花税不小心申报几次怎么办
  • 固定资产核算的内容主要包括
  • 库存和结存
  • 增值税农产品免税
  • 应交增值税进项税额月底怎么处理
  • 物业公司付电业费合法吗
  • 经营租赁不动产租赁发票开具要求
  • 盘亏的固定资产是资产吗
  • 应交税金借方余额在报表列示
  • sql语句压缩
  • windows server 2003 sp3
  • windows service 2008 r2
  • ubuntu16.04lts
  • 如何远程重装系统教程
  • linux pwdx命令
  • hpg是什么文件
  • win10系统环境设置
  • sf2是什么文件
  • 勒索病毒一般勒索多少钱
  • win10系统日历设置
  • 支持google play
  • ntp配置详解
  • nodejs如何使用
  • js的点击事件怎么做
  • js的变量
  • 中国海关化妆品关税
  • 河北省职称证书电子版
  • 油品贸易公司资质
  • 重庆个人所得税是多少
  • 呼伦贝尔清欠办电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设