设计原则 – 依赖倒置原则(DIP)

  • Post author:
  • Post category:其他



依赖倒置原则

依赖倒置原则(Dependence Inversion Principle, DIP)原始定义是

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、高层模块不应该依赖低层模块,两者都应该依赖其抽象


2、抽象不应该依赖细节


3、细节应该依赖抽象

高层模块:通常只策略、业务场景

低层模块:也就是具体实现的细节

抽象:抽象就是指接口或抽象类,两者都是不能直接被实例化的

细节:就是实现类,实现接口或继承抽象类而产生的类就是细节


通俗一点:依赖倒置就是通过抽象(接口或抽象类)使各个类或者模块的实现彼此独立,互不影响,实现模块间的松耦合。

依赖倒置原则在编码中经常被使用,其

核心思想就是面向接口编程,而不是面向实现编程。

接口是指定义(规范、约束)与实现相分离,它是一种抽象,只要不修改接口声明,那么就可以放心使用,至于接口内部的实现无需关心。所以面向接口编程也可以简单理解为面向协议编程,实现者按照协议来工作。理解了面向接口编程也就理解了依赖倒置。



版权声明:本文为longshihua原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。