作用:它指导我们如何正确地消解模块间的依赖关系,同时它也是框架设计的核心原则。
依赖倒置原则的本质就是要求将类之间的关系建立在抽象接口的基础上的。Robert Martin这样描述依赖倒置原则[Martin 1996]:
传统的策略是把复杂的系统“化整为零,各个击破”。这就是通常所说的分解。SA方法(结构化的分析)也是采用这样的分解策略,把大型和复杂的软件系统分解成若干个人们易于理解和易于分析的子系统。这里的分解是根据软件系统的逻辑特性和系统内部各成分之间的逻辑关系进行的。在分解过程中,被分解的上层就是下层的抽象,下层为上层的具体细节。
我们尽量在抽象层进行控制编程,要针对接口编程,不要针对实现编程。
要依赖于抽象,不要依赖于具体。就是说我们尽量在抽象层进行控制编程,要针对接口编程,不要针对实现编程。
开闭原则是目标,而达到这一目标的手段是依赖倒转原则。
抽象层次包含的是应用系统的商务逻辑和宏观的、对整个系统来说重要的战略性决定,是必然性的体现,那么抽象层次就应当是较为稳定的,应当是复用的重点;也应当是维护的重点;而具体层次则含有一些次要的与实现有关的算法和逻辑,以及战术性的决定,带有相当大的偶然性选择。具体层次的代码是会经常有变动的,不能避免出现错误。 原文链接:https://www.f2er.com/javaschema/285634.html