# 什么是IOC(Inversion of Control)

把对象的创建,统一交给第三方容器来创建

简单来说依赖注入的目的是为了让代码解耦以提高代码的可维护性,同时也要求代码设计符合依赖导致原则使得代码更加灵活,而其原理实际上就是在应用程序中添加一个对象容器,在应用初始化时将实际的服务“放”到容器中,然后当需要相应服务时从容器中获取,由容器来组装服务

# 在视图中使用IOC

inject

# 生命周期

AddTransient:瞬时声明周期,每次获取的都是不同的实例
AddScoped:作用域生命周期,当次HTTP请求时获取的是同一个实例
AddSingleton:单例生命周期,在整个应用中获取的都是同一个实例

提示

开发工作中,一般情况下,都是一个请求一个对象的实例,一般使用AddTransient
内置的依赖注入容器不支持属性注入,只支持构造函数注入