依赖注入、依赖反转、控制反转

依赖注入、依赖反转、控制反转

依赖注入

不用依赖注入

高层具体类依赖低层具体类

使用依赖注入

使用接口和抽象

高层具体类依赖接口或抽象

低层具体类实现接口或抽象

构造注入

方法注入

依赖反转

接口相当于规范,是属于高层–管理层。

低层具体实现,就要依赖于规范去实现。

通过引入接口-规章制度,从原来的高层依赖低层,变成了低层依赖于高层的制定的规范,这样就依赖就反转了

控制反转

回调函数

高层函数中使用回调函数,

回调函数不是由高层函数调用,而是由低层函数调用。

从而实现反转。