依赖倒转原则包括两个方面:
A
. HIGH LEVEL MODULES SHOULD NOT DEPEND UPON LOW LEVEL MODULES . BOTH SHOULD DEPEND UPON ABSTRACTIONS.
B
. A BSTRACTIONS SHOULD NOT DEPEND UPON DETAILS . DETAILS SHOULD DEPEND UPON ABSTRACTIONS.
倒转的由来:
传统的过程性系统设计倾向于使高层次的模块依赖于低层次的模块,抽象层依赖于具体层。倒转原则就是把这个依赖关系倒转过来,让具体层次依赖抽象的高层次。
基本的思想就是要依赖于抽象,不用依赖于具体。有很多模式是根据这个原则设计的,后续具体学习时再补充。现在比较流行的一个就是依赖注入模式。
参考:1.《Java与模式》,阎宏编著2.《The Dependency Inversion Principle》,by Robert C. Martin