设计模式设计原则——依赖倒置原则(DIP)

DIP:Dependence Inversion Principle

原始定义: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。

官方翻译:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。

  • 高层(稳定)不依赖低层(变化),两者依赖抽象(稳定)。高层模块不应该直接依赖于底层模块的具体实现,而应该依赖于底层的抽象。换言之,模块间的依赖是通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的。

  • 抽象(稳定)不依赖细节(变化),细节依赖抽象(稳定)。接口和抽象类不应该依赖于实现类,而实现类依赖接口或抽象类。这一点其实不用多说,很好理解,"面向接口编程"思想正是这点的最好体现。

相关推荐
Duck Bro4 小时前
MySQL:常用数据类型
java·数据库·c++·mysql·java-ee
z千鑫4 小时前
【C/C++】数据库链接入门教程:从零开始的详细指南!MySQL集成与操作
c语言·数据库·c++
重生之我在VS写bug7 小时前
【C++知识总结2】C++里面的小配角cout和cin
数据结构·c++·算法
pzn25068 小时前
蓝桥杯练习题
c++·算法·蓝桥杯
Zafir20248 小时前
Qt实现窗口内的控件自适应窗口大小
c++·qt·ui
捕鲸叉8 小时前
C++设计模式之组合模式中适用缓存机制提高遍历与查找速度
c++·设计模式·组合模式
夏旭泽8 小时前
设计模式-工厂模式
设计模式·简单工厂模式
奶茶戒断高手8 小时前
【CSP CCF记录】201903-2第16次认证 二十四点
数据结构·c++·算法
渊渟岳8 小时前
设计模式--原型模式及其编程思想
设计模式
春风十里不如你95279 小时前
【设计模式】【行为型模式(Behavioral Patterns)】之观察者模式(Observer Pattern)
观察者模式·设计模式