设计原则-ISP接口隔离原则

Posted windpoplar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计原则-ISP接口隔离原则相关的知识,希望对你有一定的参考价值。

1.定义

客户端不应该依赖它不需要的接口,类间的依赖关系应该建立在最小的接口上。

2.分析

接口隔离原则是对接口的使用进行约束规范的一个原则,它告诉我们要想把接口用好,关键在于隔离。
接口隔离原则告诉我们,不要把一大堆方法塞进一个接口里,导致这个接口变得臃肿无比。应该要根据实际需要,让接口中只有用得上的方法,也就是说要细化我们的接口。
在软件架构上,任何层次的软件设计如果依赖于不需要的东西,都会是有害的。从源代码层次来说,这样的依赖关系会导致不必要的重新编译和重新部署,对更高层次的软件架构设计来说,问题也是类似的。

3.案例

ATM需要一个非常灵活的用户界面。它的输出信息需要被转换成许多不同的语言。输出信息可能被显示在屏幕上,或者盲文书写板上,或者语音合成器。
三个类,每个类都调用UI的方法。存钱、转账、取钱。每个Transaction子类所调用的UI方法,其他子类都不使用。
对任何一个Transaction子类的修改都会迫使UI更改,从而会连带影响到其他所有Transaction派生类,以及依赖于UI接口的类。

技术图片

 

以上是关于设计原则-ISP接口隔离原则的主要内容,如果未能解决你的问题,请参考以下文章

设计模式 - 六大设计原则之ISP(接口隔离原则)

设计模式 - 六大设计原则之ISP(接口隔离原则)

设计模式 - 六大设计原则之ISP(接口隔离原则)

设计原则之-接口隔离原则(Interface Segregation Principle, ISP)

设计模式:面向对象的设计原则下(ISP、DIP、KISS、DRY、LOD)

面向对象设计原则七:接口隔离原则