1、开闭原则       
2、接口隔离原则
3、依赖倒置原则
4、迪米特原则            
5、里氏替换原则    
6、单一职责原则

接口隔离原则

客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。简单的来说就是要为各个类建立它们所需要的专用接口,而不要建立一个很庞大的接口,供所有依赖它们的类去调用。

接口隔离原则能解决什么问题

接口A中有方法1、方法2、方法3,类1实现了接口A中的3个所有方法,由于业务需要,新增的类2只需要接口中的方法1和方法2,为了省事于是类2也实现了接口A。这样看来,随着业务功能的不断增加,接口A中的方法会不断增多,而类1和类2中必然会存在大量不需要的方法,使项目工程中会存在大量冗余的代码,灵活性降低,给整体项目带来无法预料的风险。如果严格按照接口隔离原则,那么以上问题就不会出现。

具体该怎么做才能遵守接口隔离原则

既不能是大而全,会强迫实现没有用的东西,也会依赖自己不需要的东西,也不能一个方法一个接口,这样面向抽象也没什么意义,要细化接口,要根据实际需要,让接口中只有用得上的方法。

六大设计原则-接口隔离原则相关推荐

  1. 【设计模式】软件设计七大原则 ( 接口隔离原则 | 代码示例 )

    文章目录 一.接口隔离原则简介 二.接口隔离原则代码示例 ( 反面示例 ) 1.接口定义 ( 接口臃肿 ) 2.实现类 1 3.实现类 2 三.接口隔离原则代码示例 ( 推荐用法 ) 1.接口 1 2 ...

  2. 设计模式系列(二)七大设计原则-----接口隔离原则

    七大设计原则之单一接口隔离原则 接口隔离原则 案例 应用实例 改进 上一篇:设计模式系列(一)七大设计原则-----单一职责原则 下一篇:设计模式系列(三)七大设计原则-----依赖倒转原则 接口隔离 ...

  3. 学习设计模式 - 六大基本原则之接口隔离原则

    设计模式总共有六大基本原则,统称为SOLID (稳定)原则,分别是S-单一职责原则(Single Responsibility Principle), O-开闭原则(Open closed Princ ...

  4. 软件设计原则——接口隔离原则

    客户端不应该被迫依赖于它不使用的方法: 一个类对另一个类的依赖应该建立在最小的接口上. [例]安全门案例 我们需要创建一个黑马品牌的安全门,该安全门具有防火.防水.防盗的功能. 可以将防火,防水,防盗 ...

  5. java设计模式之设计原则④接口隔离原则

    定义: (1)用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口. (2)一个类对一个类的依赖应该建立在最小的接口上. (3)建立单一接口,不要建立庞大臃肿的接口. (4)尽量细化 ...

  6. 设计原则——接口隔离原则

    1.全称 Interface Segregation Principle 缩写为:ISP 2.解释 要求程序员尽量将臃肿庞大的接口拆分成更小的和更具体的接口,让接口中只包含客户感兴趣的方法 单一职责原 ...

  7. 设计原则(单一职责原则 开放封闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则)

    设计原则 单一职责原则(SRP) 从三大特性角度看原则: 应用的设计模式: 开放封闭原则(OCP) 从三大特性角度看原则: 应用的设计模式: 里氏替换原则(LSP) 从三大特性角度看原则: 应用的设计 ...

  8. 面向对象六大原则——接口隔离原则

    什么是接口隔离原则(Interface Segregation Principle, ISP)  接口对于Java开发者来说都不陌生,它几乎存在于每一个Java程序中,是抽象的代名词.在讲接口隔离原则 ...

  9. Java七大设计原则 - 接口隔离原则

    一.什么是 接口隔离原则 (Interface Segregation Principle) ? 原则含义: 一个类对于另外一个类的依赖应该建立在最小的接口上 1. 接口隔离原则" 实际上它 ...

最新文章

  1. TCP/UDP对比总结
  2. Android中对话框的工具类
  3. Oracle:集群因子
  4. 布式缓存系统Memcached简介与实践
  5. GitLab 在多分支中的一个push
  6. 前端学习(1744):前端调试值之调试元素的盒模型
  7. 安卓如何修改华强北二代耳机敲击指令?
  8. JAVA虚拟机垃圾回收机制和JAVA排错三剑客
  9. ubuntu 16.04下git的安装与使用
  10. Python——分布式监控项目
  11. linux输入法小结
  12. C# Combobox可输入+自动完成
  13. 专业的Excel管理工具LibXL V3.8.0发布 | 附下载
  14. Java短信验证码-互亿无线
  15. 批量打印证书 php,巧用WPS2013批量打印证书
  16. 关于配置移动硬盘上的Eclipse+mingw+qt4.5.3的问题解决!
  17. 相似图片搜索——感知哈希算法
  18. Header Editor 插件下载、使用
  19. 哈希的结构-MD系列
  20. 使用DISM修复系统

热门文章

  1. Android背光系统实现
  2. subscription-manager repos --enable <repo>
  3. FlashDB数据库+Norflash移植和使用
  4. Python与人工神经网络(5)——交叉熵成本函数
  5. 创建Springboot项目、java项目遇到的问题
  6. 【vs2019】调试介绍
  7. xshell的一些基本操作
  8. Java-多人聊天小程序
  9. Ajax + $ajax
  10. 简述什么是FBV和CBV