控制反转和依赖注入

简单理解.net core中IOC控制反转和DI依赖注入
控制反转和依赖注入
IOC:“别找我们,我们找你”,即由IOC容器帮助对象找相应的依赖对象并注入,而不是由对象主动去找。

“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”

谁控制谁?当然是IoC 容器控制了对象;

控制什么?那就是主要控制了外部资源获取(不只是对象包括比如文件等)

为何反转?因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转。

哪些方面反转了?依赖对象的获取被反转了

DI:“谁依赖谁,为什么需要依赖,谁注入谁,注入了什么”

谁依赖于谁:当然是应用程序依赖于IoC容器;

为什么需要依赖:应用程序需要IoC容器来提供对象需要的外部资源;

谁注入谁:很明显是IoC容器注入应用程序某个对象,应用程序依赖的对象;

注入了什么:就是注入某个对象所需要的外部资源(包括对象、资源、常量数据)

依赖注入有三种注入的方式,分别是构造函数注入,属性注入,方法注入