如何理解 ISP
接口隔离原则的英文翻译是“ Interface Segregation Principle”,缩写为 ISP。Robert Martin 在 SOLID 原则中是这样定义它的:
Clients should not be forced to depend upon interfaces that they do not use.
直译成中文的话就是:客户端不应该被强迫依赖它不需要的接口。其中的“客户端”,可以理解为接口的调用者或者使用者。
实际上,“接口”这个名词可以用在很多场合中。生活中我们可以用它来指插座接口等。在软件开发中,我们既可以把它看作一组抽象的约定,也可以具体指系统与系统之间的 API 接口,还可以特指面向对象编程语言中的接口等。
前面我提到,理解接口隔离原则的关键,就是理解其中的接口
二字。在这条原则中,我们可以把“接口”理解为下面三种东西:
- 一组 API 接口集合;
- 单个 API 接口或函数;
- OOP 中的接口概念;