如何理解“接口隔离原则”
理解“接口隔离原则”的重点是理解其中的“接口”二字。有三种不同的理解。
1.把“接口”理解为一组接口集合,可以是某个微服务的接口,也可以是某个类库的的接口等。如果部分接口只被部分调用者使用,我们就需要将这部分接口隔离出来,单独给这部分调用者使用,而不强迫其他调用者也依赖这部分不会用到的接口。
2.把“接口”理解为单个API接口或函数,部分调用者只需要函数中的部分功能,那我们就需要把函数拆分成粒度更细的多个函数,让调用者只依赖他需要的那个细粒度的函数。
3.把“接口”理解为OOP中的接口,也可以理解为面向对象编程语言中的接口语法。那接口的设计尽量单一,不要让接口的实现类和调用者依赖不需要的接口函数。
接口隔离原则与单一职责原则的区别
单一职责原则针对的是模块、类、接口的设计。接口隔离原则相对于单一职责原则,一方面侧重于接口的设计,另一方面其思考角度也不同。
接口隔离原则提供了一种判断接口的职责是否单一的标准:通过调用者如何使用接口来间接的判定。如果调用者只使用部分接口或接口的部分功能,那接口的设计就不够职责单一。
参考链接参考链接