🚏 导论

依赖倒转原则

A. 高层模块不应该依赖低层模块。两个都应该依赖抽象。

B. 抽象不应该依赖细节。细节应该依赖抽象。


🎬 场景

场景一:📦 修电脑

当电脑出现蓝屏时,通常考虑是否时内存坏了或是内存条与主板接触不良。如果是内存坏了,那么就需要更换内存条,如果是内存条与主板接触不良,那么就需要重新插拔内存条。得益于电脑部件以及相关接口的设计,只需要了解简单的计算机知识,就可以轻松的定位问题并维修电脑了。他们的设计中体现了依赖倒转原则,当然还有其他的原则(单一职责原则开放-封闭原则)。依赖倒转原则原话是说抽象不应该依赖细节,细节应该依赖于抽象,其实就是面向接口编程,而不是面向实现编程。无论主板、CPU、内存、硬盘都是在针对接口设计的,如果针对实现来设计,内存就要对应到具体的某个品牌的主板,那就回出现换内存需要把主板也换了的尴尬。 与修📻收音机相比,修电脑反而要简单。是因为收音机耦合过度了,只要收音机出现故障,不管是没有声音、不能调频,还是有杂音,反正都很难修,因为任何问题都可能涉及其他部件,各个部件相互依赖,难易维护。