这个原则是 明确了 如何设计对接口!怎么用接口。
从前面开始我们就知道了接口的好处,如何设计好的接口呢?那么接口隔离原则就是说的这个。
1. 客户端不应该依赖它不需要的接口
解析:客户端 也就是我们经常使用接口的地方,一般只上层应用,所以统称客户端。这个只是原则。但我们会经常遇到我只关心其中一个接口。其他的用不到。在设计接口的时候,别人想到的是提供可能的接口。肯定考虑不了那么多的情况,所以这样的事情会经常发生,所以依赖了也没有关系,我们不可能去修改别人的接口,所以我更多的把这句话理解成自己的,
写接口的人应该提供必要的接口。
2.类间的依赖关系应该建立在最小的接口上
这个是讲我们尽量把接口细分成最小。这样保证别人看起来方便,用起来也是很方便的。
保证接口的纯洁性
接口隔离原则是对接口进行规范约束:
这是接口隔离原则的核心定义,接口要尽量小,不要出现臃肿的接口,但是小也是有限度的,不能违背单一职责原则。
高内聚就是提高接口,类,模块的处理能力,减少对外的交互。具体到接口隔离原则就是要求在接口中尽量减少公布public方法,接口是对外的承诺,承诺越少对系统开发越有利,变更的风险就越少。
接口的设计粒度越小,系统越灵活。但是灵活的同时也带来了结构复杂,开发难度大,可维护性降低。所以接口设计是注意度。
接口隔离原则是对接口的定义,同时也是对类的定义,接口和类尽量使用原子接口或原子类来组装。我们在实践中可以以下几个规则来衡量:
一个接口只服务于一个子模块或业务逻辑
通过业务逻辑压缩接口中的public方法,接口要不断的精简,以达到接口不断完善
已经被污染的接口,尽量去修改,若变更的风险较大,则采用适配器进行转化处理
3.


以上把一个臃肿的接口变更为两个独立的接口依赖的原则就是接口隔离原则
接口是我们设计时对外提供的契约,通过分散定义多个 接口,可以预防未来变更的扩散,提高系统的灵活性和可维护性。
网友评论