依赖倒置原则的理解:假如要声明一种工具F,就写一个类,然后写对应的方法,那另一个类(依赖者或使用者,设身份为A)使用这个类即是使用了这个工具的方法,如果有多个工具,工具的方法一样,那么依赖者需要多几个调用工具的方法。
按依赖倒置原则的理解来写的话,那就是工具类C写一个通用方法(即接口),具体的工具则实现工具接口,则不需要再声明使用者,调用使用者的时候,具体的工具类做为入参就可以实现了
- A与F是依赖关系,F与C是实现关系
依赖倒置原则(Dependence Inversion Principle,DIP)是 Object Mentor 公司总裁罗伯特·马丁(Robert C.Martin)于 1996 年在 C++ Report 上发表的文章。
依赖倒置原则的原始定义为:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象(High level modules shouldnot depend upon low level modules.Both should depend upon abstractions.Abstractions should not depend upon details. Details should depend upon abstractions)。其核心思想是:要面向接口编程,不要面向实现编程。
依赖倒置原则是实现开闭原则的重要途径之一,它降低了客户与实现模块之间的耦合。