依赖倒置原则
所谓依赖倒置原则(Dependence Inversion Principle)就是要依赖于抽象,不要依赖于详细。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就减少了客户与实现模块间的耦合。
一个应用中的重要策略决定及业务模型正是在这些高层的模块中。也正是这些模型包括着应用的特性。可是,当这些模块依赖于低层模块时,低层模块的改动将会直接影响到它们,迫使它们也去改变。这样的境况是荒谬的。应该是处于高层的模块去迫使那些低层的模块发生改变。应该是处于高层的模块优先于低层的模块。不管怎样高层的模块也不应依赖于低层的模块。并且,我们想可以复用的是高层的模块。通过接口实现的形式,我们已经可以非常好地复用低层的模块了。当高层的模块依赖于低层的模块时,这些高层模块就非常难在不同的环境中复用。可是,当那些高层独立于低层模块时,它们就能非常easy地被复用了。这正是位于框架设计的最核心之处的原则。
总结:依赖倒置原则
A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。
B.抽象不应该依赖于详细,详细应该依赖于抽象。