接口隔离原则
oldbirds
# 接口隔离原则
接口隔离原则(Interface Segregation Principle,ISP)的定义是客户端不应该依赖它不需要的接口,类间的依赖关系应该建立在最小的接口上。简单来说就是建立单一的接口,不要建立臃肿庞大的接口。也就是接口尽量细化,同时接口中的方法尽量少。
# 如何看待接口隔离原则和单一职责原则
单一职责原则注重的是类和接口的职责单一,这里职责是从业务逻辑上划分的,但是在接口隔离原则要求当一个接口太大时,我们需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可。也就是说,我们在设计接口的时候有可能满足单一职责原则但是不满足接口隔离原则。
# 接口隔离原则的规范
- 使用接口隔离原则前首先需要满足单一职责原则。
- 接口需要高内聚,也就是提高接口、类、模块的处理能力,少对外发布 public 的方法。
- 定制服务,只提供访问者需要的方法。
- 接口设计是有限度的,接口的设计粒度越小,系统越灵活,但是值得注意不能过小,否则变成"字节码编程"。