设计模式设计原则——依赖倒置原则(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。

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

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

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

相关推荐
一匹电信狗12 小时前
【LeetCode_21】合并两个有序链表
c语言·开发语言·数据结构·c++·算法·leetcode·stl
2401_8384725113 小时前
C++中的访问者模式
开发语言·c++·算法
郭涤生13 小时前
C++的函数是否可以做到完全覆盖Linux和windows的跨平台
linux·c++·windows
fqbqrr13 小时前
2601C++,复制超文本格式
c++
m0_5613596713 小时前
基于C++的机器学习库开发
开发语言·c++·算法
2401_8324027513 小时前
C++中的类型擦除技术
开发语言·c++·算法
2301_7634724614 小时前
C++网络编程(Boost.Asio)
开发语言·c++·算法
轩情吖14 小时前
Qt的窗口
开发语言·c++·qt·窗口·工具栏·桌面级开发
L1869245478214 小时前
无外设条件下的自动找眼V2
c++
hcnaisd214 小时前
深入理解C++内存模型
开发语言·c++·算法