代码改变世界

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

2016-10-27 13:24  阿诚de窝  阅读(244)  评论(0编辑  收藏  举报

定义

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

问题

如图:

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

解决

如图:

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