基本概念:
接口实现类不应该依赖它不需要的接口,即要保证最小接口原则。
接口隔离要做的事:
如果一个类通过一个接口的实现类,只使用了部分方法,则应当将接口拆分(按照最小接口原则)拆成多个接口
举例:
如下有一个接口 Interface1 有5个抽象方法,其中B、D都是Interface1的实现类
而A需要使用B实现的operation1-3方法,C则需要使用D实现的operation1,4,5方法。
此时就会出现一个问题:B不是A的最小接口。D不是C的最小接口 (违背了最小接口原则)
解决方法:
将接口1拆分成3个接口:接口一有operation1、接口二有operation2,3、接口三有operation4,5
利用接口的多态(可以被类implements多个接口) 特性实现最小接口原则
即B类实现接口一、接口二
D类实现接口一、接口三
这样B是A的最小接口,D是C的最小接口。即准守了最小接口原则