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

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

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

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

相关推荐

  1. 设计模式-依赖倒置原则

    2024-01-07 20:06:04       33 阅读
  2. 软件设计原则依赖倒置

    2024-01-07 20:06:04       36 阅读
  3. 软件设计原则-依赖倒置原则

    2024-01-07 20:06:04       53 阅读
  4. 设计模式依赖倒转原则

    2024-01-07 20:06:04       42 阅读
  5. 设计模式-03 设计模式-依赖倒转原则案例分析

    2024-01-07 20:06:04       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-07 20:06:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-07 20:06:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-07 20:06:04       82 阅读
  4. Python语言-面向对象

    2024-01-07 20:06:04       91 阅读

热门阅读

  1. Beauty algorithm(二)唇妆

    2024-01-07 20:06:04       57 阅读
  2. 链 表

    2024-01-07 20:06:04       42 阅读
  3. 【测试开发】自动化测试selenium

    2024-01-07 20:06:04       66 阅读
  4. 编程天赋和努力哪个更重要?

    2024-01-07 20:06:04       67 阅读
  5. js利用express来创建服务器和创建接口

    2024-01-07 20:06:04       58 阅读
  6. 面试的几个问题

    2024-01-07 20:06:04       65 阅读
  7. Linux socket: udp server and client demo

    2024-01-07 20:06:04       51 阅读
  8. JVM常用参数

    2024-01-07 20:06:04       46 阅读