Dependence Inversion Principle(DIP): High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon abstractions.
依赖倒置原则:高层模块不应依赖底层模块,两者都应该依赖于抽象。抽象不应该依赖细节,细节应该依赖于抽象。
依赖倒置原则包含的意思是:
1.模块之间的依赖关系通过抽象类或者接口来表现。具体的模块之间最好不要有直接的依赖关系。
2.抽象类或接口不要依赖于实现它的类。
3.具体的类依赖于抽象类或者接口来与其他模块联系。
即Object-Oriented Design(OOD)——面向接口编程。
依赖倒置原则有助于提高系统的稳定性,降低并行开发引起的风险,提高代码的可读性和可维护性。一套设计合理的接口是相对稳定的,当需求变化时,只要接口不变,具体类的修改是相对容易的。对并行开发来说,如果接口已经明确定义,那么各个团队开发过程之间相互的影响可以得到明显的降低。
所以,程序中的每个类最好对应于一个抽象类或接口;依赖关系的表示也最好用抽象类型;类继承的层次最好不要超过两层。
依赖倒置原则和开发封闭原则有很大的联系。
原文链接:https://www.f2er.com/javaschema/286193.html