【设计原则】图解何为依赖倒置

依赖倒置原则(Dependence Inversion Principle,DIP)是指设计代码结构时,高层模块不应该依赖低层模块,二者都应该依赖其抽象。

要理解何为倒置,那就先得明确什么是"正向",可以看到下图代码是自上而下地调用,即高层模块依赖底层模块,这就是正向依赖。:

而依赖倒置则是使用抽象接口来降低耦合,可以看到箭头是自下而上的,这就是所谓的倒置。

这时有人说,如果我箭头调转,抽象类在下,实现类在上,那不就变成正向了?

这种观点是不成立的,因为这是 UML 规定抽象类必须在上,实现类在下。

相关推荐
常某某的好奇心2 个月前
开闭原则与依赖倒置原则区别:原类不变,新增类(功能)vs 接口类不变,原实现类可变
依赖倒置原则·开闭原则
龙仔7252 个月前
compat-openssl10和libnsl下载安装
ssl·依赖倒置原则·opentsdb
冷雨夜中漫步3 个月前
设计模式(8)——SOLID原则之依赖倒置原则
设计模式·依赖倒置原则·设计规范
吱吱喔喔4 个月前
NET Core中负责依赖注入和控制反转的核心组件有两个:IServiceCollection和IServiceProvider
经验分享·后端·中间件·架构·c#·依赖倒置原则
缘友一世5 个月前
JAVA设计模式:依赖倒转原则(DIP)在Spring框架中的实践体现
java·spring·依赖倒置原则
飞人博尔特的摄影师6 个月前
C#界面框架Avalonia中使用依赖注入
系统架构·前端框架·c#·.net·wpf·.netcore·依赖倒置原则
ke_wu6 个月前
常见设计原则
接口隔离原则·依赖倒置原则·里氏替换原则·开闭原则·迪米特法则·单一职责原则
huaqianzkh7 个月前
依赖倒置原则:Java实践篇
java·设计模式·依赖倒置原则
cs8219848317 个月前
QT 设置高DIP支持多分屏幕,window缩放比例问题等
开发语言·qt·依赖倒置原则
Theodore_10228 个月前
3 设计模式原则之依赖倒置原则
java·开发语言·设计模式·java-ee·依赖倒置原则