接口隔离原则
定义
Interface Segregation Principle:客户端不应该被强迫依赖它不需要的接口。
个人理解
两个类之间的依赖应当建立在最小的接口上。接口颗粒度把握好,太小了调用麻烦,太大了就会提供一些客户端不需要的内容,服务端改动时影响范围增大,影响扩展性。
如果接口部分内容需要复用,可以拆出来,再使用外观模式,提供客户端需要的接口。
接口隔离原则与单一职责原则的区别
单一职责原则针对的是模块、类、接口的设计。接口隔离原则相对于单一职责原则,一方面更侧重于接口的设计,另一方面它的思考角度也是不同的。接口隔离原则提供了一种判断接口的职责是否单一的标准:通过调用者如何使用接口来间接地判定。如果调用者只使用部分接口或接口的部分功能,那接口的设计就不够职责单一。