设计模式学习 Day5 依赖倒置原则(DIP)

117 阅读1分钟

DIP的概括表述是:高层模块不应该一样直接依赖低层模块,而是将依赖关系“倒置”过来,让低层模块去依赖由高层定义好的接口。这样做的好处就在于,将高层模块与低层实现解耦开来。

其含义包含两方面:

1)高层模块不应依赖于低层模块,二者应依赖于抽象
2)抽象不应依赖于细节,细节应依赖于抽象,

相似概念:

1)控制反转(IOC):主要是指控制流的反转,框架提供了一个可扩展的代码骨架,用来组装对象、管理整个执行流程。程序员利用框架进行开发的时候,只需要往预留的扩展点上,添加跟自己业务相关的代码,就可以利用框架来驱动整个程序流程的执行。控制反转并不是一种具体的实现技巧,而是一个比较笼统的设计思想,一般用来指导框架层面的设计。
2)依赖注入(DI):不通过 new() 的方式在类内部创建依赖类对象,而是将依赖的类对象在外部创建好之后,通过构造函数、函数参数等方式传递(或注入)给类使用。


此文章为3月Day5学习笔记,内容来源于极客时间《设计模式之美》