本文来了解一下什么是接口隔离原则。

定义

  • 用多个专门的接口,而不适用单一的总接口,客户端不应该依赖它不需要的接口
  • 一个类对一个类的依赖应该建立在最小的接口上
  • 建立单一接口,不要建立庞大臃肿的接口
  • 尽量细化接口,接口中的方法尽量少

也就是说,我们提供接口的时候,只暴露需要的方法,而将不需要的方法隐藏起来。

例子

定义一个接口叫做动物行为接口,但是呢,由于没有细化,比如狗子,一旦实现这个接口,那就要实现所有的方法,包括它不会的飞翔。

image

将接口进行细化(这里要注意是要适当)。哪个要实现什么,就去实现,不需要的方法就可以不用去实现。

注意,接口隔离原则好像与上一章的单一职责原则有点像,这里说明一下区别:单一职责原则强调职责,一个class或者接口只负责一个职责,可以有很多的方法。但是接口隔离原则强调的是适当地设计接口,尽量地给不同的调用者适当的接口,不要设计的太臃肿,注重的是接口依赖的隔离。

这里强调适当,接口也不能太多,效果反而会适得其反。