依赖倒置原则DIP(Dependency-Inversion Principles)

在传统的结构化编程中,最上层的模块通常都要依赖下面的子模块来实现,也称为高层依赖低层!

DIP原则就是要逆转这种依赖关系,让高层模块不要依赖低层模块.

教科书上的定义:
第1点:高层模块不依赖底层模块,两者都依赖抽象
第2点:抽象不应该依赖于细节,细节应该依赖于抽象

每个较高层次都为它所需要的服务声明一个抽象接口,较低的层次实现这些抽象接口,每个高层类都通过该抽象接口使用下一层的服务,接口属于高层,低层要实现高层的接口,因此现在是低层依赖于高层.
是依赖关系倒置和接口所有权的倒置.

启发式规则:
1.任何变量都不应该持有一个指向具体类的指针或者引用.
2.任何类都不应该从具体类派生(始于抽象,来自具体)
3.任何方法都不应该覆写它的任何基类中的已经实现了的方法.

这个原则对于那些虽然具体但是却稳定的类来说似乎并不是很合适, 如果一个类不太会改变, 而且也不太可能创建其他的派生类,那么依赖它似乎并没有太大的危害。比如java的String类。

相关文章:

  • 2022-12-23
  • 2021-09-18
  • 2021-09-03
  • 2021-05-08
  • 2022-12-23
  • 2022-03-10
  • 2022-01-04
猜你喜欢
  • 2021-11-19
  • 2021-06-15
  • 2021-09-27
  • 2021-08-07
  • 2021-05-06
  • 2021-11-22
相关资源
相似解决方案