接口隔离原则
一、为什么这样设计
1、客户端不应依赖它不需要的接口
2、类间的依赖关系应该建立在最小的接口上
说直白点就是客户端需要什么功能,就提供什么接口,对于客户端不需要的接口不应该强行要求其依赖;
二、类图展示
需求:类A通过Interface1依赖类B,1,2,3方法;类c通过Interface1依赖D,1,4,5方法。
-
违反接口隔离原则
可以看见这样设计,会使类B,类D变得更加臃肿。每一个实现类实现了它们不需要的接口,使得层与层之间的耦合度增加,结果导致了不需要的接口发生变化时,实现类也不得不相应的发生改变 -
按照接口隔离原则设计
这里我们对接口进行拆分,可以看见这样会降低我们接口的复杂度,如果需要增加操作,只需要在对应的接口和实现类上面修改即可,这样就不存在依赖不需要接口的情况。
三、总结
接口隔离原则,降低了单个接口的复杂度,使得接口的“内聚性”更高,“耦合性”更低。