网上对于两者的区别众说纷纭,总是一套理论下来跟没有说一样,下面说说自己的理解:

 单一职责原则:

是将某一职责的方法全放在一个接口中,这时候就会出现实现该接口的类必须实现该接口中自己用不到的方法(违背接口隔离原则)

接口隔离原则:

是为了将胖接口分成粒度更细的接口,每个类仅仅实现自己所需的接口即可,这就导致同一职责的胖接口可能会被划分为粒度更细的接口(所以在设计接口时单一职责原则和接口隔离原则可能会无法两全)

设计模式六大原则(4):接口隔离原则_三级小野怪的专栏-CSDN博客_接口隔离原则定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。解决方案:将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系。也就是采用接口隔离原则。举例来说明接口隔离原则:(图1  未遵循接https://blog.csdn.net/zhengzhb/article/details/7296921

单一职责原则和接口隔离原则区别的理解相关推荐

  1. 六大设计原则之接口隔离原则

    接口隔离原则定义 接口隔离有两种定义: Clients should not be forced to depend upon interfaces that they don't use. 客户端不 ...

  2. 软件设计模式六大原则之四接口隔离原则(PHP语言实现)

    转载,原文链接https://www.cnblogs.com/zhanghengscnc/p/8299459.html 定义:客户端不应该依赖它不需要的接口:一个类对另一个类的依赖应该建立在最小的接口 ...

  3. 面向对象的六大原则之 接口隔离原则——ISP

    ISP = Interface Segregation Principle ISP的定义如下: 1.客户端不应该依赖他不需要的接口 2.一个类对另外一个类的依赖性应该是建立在最小的接口上 3.不应当将 ...

  4. 软件设计原则之接口隔离原则、合成复用原则、迪米特原则

    系列文章目录 软件设计原则之单一职责原则.开闭原则 软件设计原则之里氏替换原则.依赖倒置原则 软件设计原则之接口隔离原则.合成复用原则.迪米特原则 文章目录 系列文章目录 一.接口隔离原则 什么是接口 ...

  5. 面向对象编程原则(07)——接口隔离原则

    版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 参考资料 <大话设计模式> 作者:程杰 <Java设计模式> 作者:刘 ...

  6. 七大设计原则之接口隔离原则应用

    目录 1 接口隔离原则介绍 2 接口隔离原则应用 1 接口隔离原则介绍 接口隔离原则(Interface Segregation Principle, ISP)是指用多个专门的接口,而不使用单一的总接 ...

  7. 【软件架构设计原则】单一职责原则和接口隔离原则

    文章目录 软件架构设计原则 单一职责原则 接口隔离原则 其他设计原则 软件架构设计原则 本文通过实例来讲解 单一职责原则 接口隔离原则 单一职责原则 单一职责(Simple Responsibilit ...

  8. 6大设计原则之接口隔离原则

    接口隔离原则的定义 什么是接口. 实例接口,比如定义了一个Person类,然后 Person p = new Pserson(); 产生一个实例,Person类就是 p 的接口 类接口,就是Java中 ...

  9. 深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP

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

最新文章

  1. 陶哲轩自述考砸经历:智商高达230的数学天才,却因没复习险些挂科
  2. 大数据项目开发案例_大数据分析技术——项目案例2(房价数据分析上)
  3. linux 查看目录挂载的ip,Linux挂载IPSAN和FCSAN操作,Linux挂载NFS文件系统
  4. android学习笔记46——File存储
  5. Python之print语句
  6. ctx->cvdl->cuvidGetDecoderCaps(ctx->caps8) failed -> CUDA_ERROR_DEINITIALIZED: driver shutting down
  7. wonderware配置-Intouch读取Historian数据 8
  8. matlab自带优化工具箱,二元一次函数
  9. C# 给PowerPoint文档设置背景颜色和背景图片
  10. 阿里巴巴开发规范--精选常用规范
  11. 高企奖励来啦!2022年武汉市各区高新技术企业奖励补贴汇总和申报时间、申报条件
  12. 一文看懂SpringCloudAlibaba组件
  13. 百度CEO李彦宏:我是互联网的信徒
  14. RocketMQ的Rebalance详解
  15. 多帧点云数据拼接合并_基于单帧图像与稀疏点云融合的道路交通标线提取算法研究...
  16. 浅谈点感想(通篇废话),由学习方法想到的ML
  17. 薪酬管理系统数据库设计
  18. 通联支付相关注意事项
  19. 点赞!盲人程序员独立开发吃鸡游戏,眼睛看不到,心却明亮
  20. 推荐几款音频转文字软件给你

热门文章

  1. window7下开机numlk灯亮的解决方法
  2. imopen和bwmorph_形态学笔记
  3. FFmpeg之ffprobe
  4. 【Mongo】MongoDB文档查询
  5. 黔西南职称计算机,黔西南州人社局2016第七次贵州黔西南州职称计算机考试时间...
  6. 清华裴丹:我在智能运维科研领域的一些思考
  7. u 20ubuntu 安装 postfix_2020阜阳PVC-U农村自来水管厂家
  8. 阿里云服务器购买与使用完整教程详细版
  9. 点云 3D 可视化 - Open3D 库
  10. html二级联动带变量,动态的二级联动步骤