Java设计原则—接口隔离原则(转)
2024-08-24 13:50:43
接口隔离原则 Interface Segregation Principle
定义:
- 客户端不应该依赖它不需要的接口
- 类间的依赖关系应该建立在最小的接口上
我们可以把这两个定义概括为一句话:建立单一接口,不要建立臃肿庞大的接口。再通俗一点讲:接口尽量细化,同时接口中的方法尽量少。
提供给每个模块的都应该是单一接口,提供给几个模块就应该有几个接口,而不是建立一个庞大的臃肿的接口,容纳所有的客户端访问。
接口是我们设计时对外提供的契约,通过分散定义多个接口,可以预防未来变更的扩散,提高系统的灵活性和可维护性。
含义:
- 接口要尽量小
这是接口隔离原则的核心定义,不出现臃肿的接口(Fat Interface),但是“小”是有限度的,首先就是不能违反单一职责原则。
根据接口隔离原则拆分接口时,首先必须满足单一职责原则。
- 接口要高内聚
高内聚就是要提高接口、类、模块的处理能力,减少对外的交互。
具体到接口隔离原则就是,要求在接口中尽量少公布public方法,接口是对外的承诺,承诺地越少对系统开发越有利,变更的风险也就越少,同时也有利于降低成本。
- 定制服务
定制服务就是单独为一个个体提供优良的服务。
- 接口设计是有限度的
接口的设计粒度越小,系统越灵活,这是不争的事实。但是,灵活的同时也带来了结构的复杂化,开发难度增加,可维护性降低,这不是一个项目或产品所期望看到的,所以接口设计一定要注意适度,这个度只能根据经验和常识判断,没有一个固化或可测量的标准。
最新文章
- hideSoftInputFromWindow
- wex5 实战 图片触摸放大移动插件easyzoom的使用与集成
- [转]simple sample to create and use widget for nopcommerce
- Android消息机制之ThreadLocal的工作原理
- 开启telnet的几种方法
- MyBatis知多少(1)
- udp打洞( NAT traversal )的方法介绍
- PHP 生成随机浮点数
- linux .o,.a,.so文件解析
- iOS OC开发代码规范
- shell脚本中的标准输出重定向使用涵义
- iOS: TableView如何刷新指定的cell 或section
- nginx下配置二级域名指向子目录
- 解决BackBox中Fcitx输入法中文输入状态下不显示候选词框的问题
- input 标签,不可更改
- [Java并发编程(五)] Java volatile 的实现原理
- ubuntu14.04 VIM for python 一键配置
- js异步刷新局部页面
- 【webstorm】免费使用
- 遍历json数组实现树
热门文章
- redis的使用和安装,redis基础和高级部分
- NYOJ 1009 So Easy[Ⅰ]【简单题】
- Socket长连接和短连接的区别
- 【BZOJ5071】[Lydsy十月月赛]小A的数字 发现性质
- [SharePoint 2010] SharePoint 2010上多人同時編輯Office 2010文件
- ios UITableView高度自适应(转)
- SQL使用union合并查询结果(转载)
- [Gradle] 如何强制 Gradle 重新下载项目的依赖库
- 160316、实时处理oracle数据库中表的数据变化
- Linux云服务器下Tomcat部署超详细