美文网首页
六大设计原则-依赖倒置原则

六大设计原则-依赖倒置原则

作者: 小杰66 | 来源:发表于2021-04-24 11:52 被阅读0次

依赖倒置原则

Dependency Inversion Principle 简称DIP。

什么是依赖倒置原则

1.高层模块不应该依赖于低层模块,二者都应该依赖于抽象。
2.抽象不应该依赖于细节,细节应该依赖于抽象。

每个逻辑的实现都是由原子逻辑组成的,不可分割的原子逻辑就是低层模块,原子逻辑的再组装就是高层模块。
抽象指抽象类,细节指实现类。

依赖倒置原则的优点

  1. 减少类间的耦合性
  2. 提高系统的稳定性
  3. 降低并行开发引起的风险
  4. 提高代码的可读性和可维护性

如何做到依赖倒置原则

  1. 每个类尽量都有接口和抽象类,或两者都有。
  2. 变量的表面类型尽量是接口或者抽象类。
  3. 任何类都不应该从具体类派生。
  4. 尽量不要覆写基类的方法。
  5. 结合里氏替换原则使用。

代码举例

在JavaScript里,依赖倒置原则的适用性仅仅限于高层模块和低层模块之间的语义耦合,比如,DIP可以根据需要去增加接口而不是耦合低层模块定义的隐式接口。

  • 改造前,司机开奔驰车,高层模块司机依赖低层模块奔驰车。这时添加宝马车会发现司机没有开宝马车的方法,也就是添加了低层模块需要去改高层模块。
class Benze {
  constructor() {}
  run() {
    console.log("benze");
  }
}

class Driver {
  constructor() {}
  drive() {
    const car = new Benze();
    car.run();
  }
}

const driver = new Driver();
driver.drive();
  • 改造后,通过依赖注入我们可以在不动高层模块的前提下,任意的修改低层模块。
class Benze {
  constructor() {}
  run() {
    console.log("benze");
  }
}

class BMW {
  constructor() {}
  run() {
    console.log("bmw");
  }
}

class Driver {
  constructor(car) {
    this.car;
  }
  set(car) {
    this.car = car;
  }
  drive() {
    this.car.run();
  }
}

const driver = new Driver();
driver.set(new BMW());
driver.drive();

相关文章

  • 依赖倒置原则

    个人博客原文:依赖倒置原则 设计模式六大原则之三:依赖倒置原则。 简介 姓名 :依赖倒置原则 英文名 :Depen...

  • 六大设计原则 -依赖倒置原则【Dependence Invers

    六大设计原则 单一职责原则 里式替换原则 依赖倒置原则 接口隔离原则 迪米特原则 开闭原则 依赖倒置原则 定义:高...

  • 设计原则之6大原则

    目录:设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置...

  • Java 依赖倒置 控制反转

    软件开发六大设计原则 合称SOLID 依赖倒置原则也是其中一个 依赖倒置原则定义: 上层模块不应该依赖底层模块,它...

  • 设计模式之代理模式(Proxy Pattern)

    设计模式中有六大原则和二十三设计模式。其中六大原则分别为:单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口...

  • 设计模式之建造者模式(Builder)

    设计模式中有六大原则和二十三设计模式。其中六大原则分别为:单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口...

  • 设计模式之单例模式(Singleton)

    设计模式中有六大原则和二十三设计模式。其中六大原则分别为:单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口...

  • 设计模式之设计原则

    设计模式中有六大原则和二十三设计模式。 其中六大原则分别为:单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接...

  • 设计模式之状态模式(State Pattern)

    设计模式中有六大原则和二十三设计模式。其中六大原则分别为:单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口...

  • 设计模式之策略模式(Strategy Pattern)

    设计模式中有六大原则和二十三设计模式。其中六大原则分别为:单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口...

网友评论

      本文标题:六大设计原则-依赖倒置原则

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