(接上篇 第一章 设计模式七大原则 )
第3节 接口隔离原则
1.描述
客户端不应该依赖它不需要的接口。即,一个类对另一个类的依赖应该建立在最小的接口上
2.传统方式
2.1 类图
2.2 问题分析
- 类 A 通过接口 Interface1 依赖类 B,但类 A 中只会用到接口的 foo1、foo2、foo3 三个方法,foo4、foo5 方法不会使用。但按照目前的设计方案,类 B 也必须实现 foo4、foo5 方法。同理,类 C 通过接口 Interface1 依赖类 D
- 接口 Interface1 对于类 A 和类 C 来说都不是最小接口,因为类 B 和类 D 都必须实现它们不需要的方法。因此,违反了接口隔离原则
3.接口隔离
3.1 基本介绍
- 根据实际情况,将接口 Interface1 拆分为独立的几个接口,类 A 和类 C 分别与它们需要的接口建立依赖关系
3.2 类图
3.3 代码
public interface Interface1 {
void foo1();
}
public interface Interface2 {
void foo2();
void foo3();
}