接口隔离原则( ISP) 指的是 Clients should not be forced to depend upon interfaces that they do not use,其强调不应强迫使用者依赖于它们不用的方法,从更广泛的角度理解 ISP,就是不依赖于任何不需要的东西。这里面接口可以有三种理解方式:
1)一组 API 接口集合
2)单个 API 接口
3)OOP 中的接口概念
与SRP相比,我们可以可以把 ISP 理解成接口设计的 SRP,做接口设计时,应该关注不同的使用者。SRP针对的是模块、类、接口的设计。而ISP原则更侧重于接口的设计,并且ISP提供了一种判断接口是否职责单一的标准:通过调用者如何使用接口来间接地判定。如果调用者只使用部分接口或接口的部分功能,那接口的设计就不够职责单一。
此文章为3月Day4学习笔记,内容来源于极客时间《设计模式之美》