一、什么是依赖倒转原则?
抽象不应当依赖于细节;细节应当依赖于抽象
。
或者说:
要针对接口编程,不要针对实现编程
。
二、为什么叫做依赖倒转原则?
传统的过程性系统设计倾向于使高层次的模块依赖于低层次的模块;抽象层次依赖于具体层次。依赖倒转原则就是要把这种依赖关系倒转。
抽象层包含的是系统的商务逻辑和宏观的、对整个系统来说最重要的战略性决定,是必然性的实现;而具体层次则含有一些与实现有关的算法和逻辑,以及战术性的决定,带有相关大的偶然性。
战略决定战术!也就是具体层次依赖于抽象层。
三、依赖倒转原则的优缺点
依赖倒转原则为了避免具体类的直接引用,很可能要产生大量的类,而且结构比较复杂。
如果具体类相当稳定,可以确定不会发生变化,完全可直接依赖于具体实现。