位置: 编程技术 - 正文

深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解(深入理解中国式现代化)

编辑:rootadmin

推荐整理分享深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解(深入理解中国式现代化),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:深入理解linux内核第三版,深入理解linux内核第三版,深入理解中国式现代化,深入理解中国式现代化,深入理解javascript特性.pdf,深入理解新发展理念,推进供给侧结构性改革,深入理解计算机系统,深入理解javascript特性,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第4篇,接口隔离原则ISP(The Interface Segregation Principle)。

英文原文: Patterns ? Elements of Reusable Object-Oriented Software一书中我们找到了接口的定义: 的时候,它仅仅需要rectangle的area()方法,但它却违反了LSP(因为他根本用不到其中drawRectangles方法才能用到的draw方法)。

静态耦合

静态类型语言里的另外一个导致违反ISP的原因是静态耦合,在静态类型语言里,接口在一个松耦合设计程序里扮演了重大角色。不管是在动态语言还是在静态语言,有时候一个对象都可能需要在多个客户端用户进行通信(比如共享状态),对静态类型语言,最好的解决方案是使用Role Interfaces,它允许用户和该对象进行交互(而该对象可能需要在多个角色)作为它的实现来对用户和无关的行为进行解耦。在JavaScript里就没有这种问题了,因为对象都被动态语言所特有的优点进行解耦了。

深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解(深入理解中国式现代化)

语义耦合

导致违反ISP的一个通用原因,动态语言和静态类型语言都有,那就是语义耦合,所谓语义耦合就是互相依赖,也就是一个对象的行为依赖于另外一个对象,那就意味着,如果一个用户改变了其中一个行为,很有可能会影响另外一个使用用户。这也违反单一职责原则了。可以通过继承和对象替代来解决这个问题。

可扩展性

另外一个导致问题的原因是关于可扩展性,很多人在举例的时候都会举关于callback的例子用来展示可扩展性(比如ajax里成功以后的回调设置)。如果想这样的接口需要一个实现并且这个实现的对象里有很多熟悉或方法的话,ISP就会变得很重要了,也就是说当一个接口interface变成了一个需求实现很多方法的时候,他的实现将会变得异常复杂,而且有可能导致这些接口承担一个没有粘性的职责,这就是我们经常提到的胖接口。

总结

JavaScript里的动态语言特性,使得我们实现非粘性接口的影响力比静态类型语言小,但接口隔离原则在JavaScript程序设计模式里依然有它发挥作用的地方。

PHP 数组current和next用法分享 1.currentphp$transport=array('foot','bike','car','plane');$mode=current($transport);//$mode='foot';$mode=next($transport);//$mode='bike';$mode=current($transport);//$mode='bike';$mode=prev($transport)

PHP守护进程实例 php也是可以直接进行守护进程的启动与终止的,相对于shell来说会简单很多,理解更方便,当然了php的守护进程要实现自动重启还是要依赖于shell的crontab

Shell脚本实现Linux系统和进程资源监控 在服务器运维过程中,经常需要对服务器的各种资源进行监控,例如:CPU的负载监控,磁盘的使用率监控,进程数目监控等等,以在系统出现异常时及

标签: 深入理解中国式现代化

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

上一篇:深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解(深入理解新发展理念)

下一篇:PHP 数组current和next用法分享(php7 数组)

  • 小规模纳税人一般纳税人区别
  • 预缴增值税附加税需要计提吗
  • 综合所得税和单独计税
  • 税务师的含金量怎么样
  • 应交税费应交增值税减免税款
  • 软件产品增值税超税负即征即退
  • 个人社保信息变更
  • 增值税专用发票抵扣期限
  • 有营业额有成本怎么算成本占比
  • 刚成立的公司好不好
  • 所属税务机关是根据什么分配的
  • 人力资源服务发票
  • 远期采购合同会查吗
  • 经纪代理服务怎么做分录
  • 发票属于什么凭证类型
  • 2016 营改增 对建筑企业影响
  • 超市费用能否税前扣减?
  • 开立基本账户所需资料
  • 建造期间不可抗力因素入成本么
  • 车辆商业险和交强险可以分开买吗
  • 公益性捐赠全额扣除2020年第9号文件
  • 补交关税增值税怎么做分录?
  • 2021年营业额多少需要交税
  • 增值税普票需要进项吗
  • 简并增值税税率政策解读
  • 购买股票相关税费会计分录
  • 小规模纳税人申报纳税详细流程
  • 购进要不要交印花税
  • 污水处理服务费用交印花税吗
  • 哪些资产减值损失可以 转回,哪些不能?
  • 新版edge浏览器兼容性视图怎么设置
  • 最新w10系统专业版
  • 查看修改
  • 冲回坏账
  • npm info: node: --openssl-legacy-provider is not allowed in NODE_OPTIONS
  • 苹果手机最贵的软件是哪个
  • 个体工商户与家庭生活难以划分的费用
  • 如何理解土地使用制度
  • 未分配利润转增股本要交税吗怎么交
  • nodejs安装与配置
  • 头歌HTML基础第一关初识HTML
  • 折旧和摊销的区别通俗
  • php学生管理系统设计报告
  • zend framework手册
  • 此战成硕,我成功上岸西南交通大学了~~~
  • 2023跨年烟花链接
  • journal.tmp
  • 税控设备抵减增值税必须当月抵减吗
  • 纳税调增调减通俗易懂
  • python爬虫入门教程
  • python如何合并字典
  • mysql的一些命令
  • 个别计价法和先进先出法的相同点
  • 商品流通企业采购费用
  • 应交企业所得税是什么科目
  • 个体户查账征收和核定征收哪个好
  • 技术报酬金是什么意思
  • 企业的应付职工薪酬属于流动负债
  • 小企业会计准则2023电子版
  • 新成立公司申报个税流程
  • 代扣代缴增值税税率
  • 支付宝企业账户在哪里查看
  • 清空mysql数据库
  • 在windows 10
  • WinXP系统VPN连接经常性自动断开的4个解决方法
  • mom.exe是什么
  • win7多用户怎么删除
  • 密码多次错误被锁定怎么办
  • 删除windows.old文件夹后 桌面没有了
  • 优质安卓应用
  • msg命令用法
  • js函数预解析
  • nodejs cgi
  • python中将
  • shell脚本随机数
  • jquery输出语句
  • 税务检查调账通知书
  • 地税网上预约
  • 综合征收和分类征收
  • 监察室主任岗位职责
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设