美文网首页
软件设计原则之依赖倒置原则

软件设计原则之依赖倒置原则

作者: GuangHui | 来源:发表于2022-10-01 23:19 被阅读0次
  • 高层模块不应依赖于低层模块,二者应依赖于抽象。
  • 抽象不应依赖于细节,细节应依赖于抽象。

业务代码中任何与业务无关的东西都是潜在的坏味道。识别一个东西是业务的一部分,还是一个可以替换的实现,我们不妨问问自己,如果不用它,是否还有其它的选择?

常见的中间件,比如,Kafka、Redis、MongoDB 等等,通常也都是一个具体的实现,其它中间件都可以把它替换掉。所以,它们在业务代码里出现,那一定就是一个坏味道了。

既然我们已经知道了,这些具体的东西是一种坏味道,那该怎么解决呢?你可以引入一个模型,也就是这个具体实现所要扮演的角色,通过它,将业务和具体的实现隔离开来。

interface FailureSender {
    void send(SendFailure failure);
}

class FeishuFailureSenderS implements FailureSender {
...
}

这里我们通过引入一个 FailureSender,业务层只依赖于这个 FailureSender 的接口就好,而具体的飞书实现可以通过依赖注入的方式注入进去。

依赖关系是软件开发中非常重要的一个东西,然而,很多程序员在写代码的时候,由于开发习惯的原因,常常会忽略掉依赖关系这件事本身。

相关文章

  • 揭秘IoC注入架构,实现RecyclerView条目点击

    依赖倒置原则(Dependency Inverse Principle)一种软件设计原则 控制反转 (Invers...

  • 今日份打卡 119/368

    技术文章软件设计原则SOLID单一职责原则里氏替换原则依赖倒置原则接口隔离原则迪米特法则开放封闭原则

  • Yii源依赖注入(容器)

    有关概念 依赖倒置原则(Dependence Inversion Principle, DIP) 传统软件设计中,...

  • 软件设计7大原则

    软件设计7大原则 开闭原则 依赖倒置原则 单一职责原则 接口隔离原则 迪米特法则(最少知道原则) 里氏替换原则 合...

  • 软件设计⑥原则 之 依赖倒置原则

    【文章仅供非商业用途或交流学习使用】 依赖倒置原则定义 依赖倒置原则(DIP):高层模块不应该直...

  • 软件设计原则之依赖倒置原则

    高层模块不应依赖于低层模块,二者应依赖于抽象。 抽象不应依赖于细节,细节应依赖于抽象。 业务代码中任何与业务无关的...

  • 6 ASP .NET Core-依赖注入

    1 关于 DIP, IOC,DI DIP 依赖倒置原则:软件设计原则,高层和底层要依赖于抽象,不依赖具体实现。IO...

  • 面向对象软件设计七大原则

    介绍 软件设计的七大原则如下: 开闭原则 依赖倒置原则 单一职责原则 接口隔离原则 迪米特法则 里式替换原则 合成...

  • 设计模式03-结构型模式

    写在前面 软件设计七大原则开闭原则里氏替换原则依赖倒置原则单一职责原则接口隔离原则迪米特法则合成复用原则 创建型模...

  • 设计模式04-行为型模式

    写在前面 软件设计七大原则开闭原则里氏替换原则依赖倒置原则单一职责原则接口隔离原则迪米特法则合成复用原则 创建型模...

网友评论

      本文标题:软件设计原则之依赖倒置原则

      本文链接:https://www.haomeiwen.com/subject/bwcjartx.html