定义:
1、客户端不应该依赖它不需要的接口。
2、类间的依赖关系应该建立在最小的接口上。
以上两个定义的含义是:要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。各个接口提供独特的功能,而不是一个接口兼容很多功能;
与单一职责的区别:
1)单一职责讲的是类的实现;接口隔离讲的是接口层面设计,是抽象和架构层面的设计问题
2)单一原则讲的是职责;接口隔离讲的是依赖
如何实操
1)根据接口隔离原则拆分接口时,首先必须满足单一职责原则。
2)接口尽量小,但是要有限度。一个接口只服务于一个子模块或业务逻辑。
3)为依赖接口的类定制服务。只提供调用者需要的方法,屏蔽不需要的方法。
4)了解环境,拒绝盲从。每个项目或产品都有选定的环境因素,环境不同,接口拆分的标准就不同深入了解业务逻辑。
5)提高内聚,减少对外交互。使接口用最少的方法去完成最多的事情。