客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

问题

如图:

设计原则(四):接口隔离原则

类A依赖接口I中的方法1、方法2、方法3,类B是对类A依赖的实现。类C依赖接口I中的方法1、方法4、方法5,类D是对类C依赖的实现。对于类B和类D来说,虽然他们都存在着用不到的方法(也就是图中红色字体标记的方法),但由于实现了接口I,所以也必须要实现这些用不到的方法。

解决

如图:

设计原则(四):接口隔离原则

如果将这个设计修改为符合接口隔离原则,就必须对接口I进行拆分。

相关文章: