诺禾、Asp .Net Core 依赖注入

Asp .Net Core 依赖注入
为什么要运用依赖注入?
借助依赖注入,能够管理类之间的依赖,协助我们在构建应用时遵照设计准绳,确保代码可维护性和可扩展性
ASP.NET Core的整个架构中,依赖注入框架提供了对象创立和生命周期管理的中心才能,各个组件相互协作,也是依赖注入框架才能来完成的
两个中心包:
Microsft.Extensions.Dependency;injection.Abstractions (笼统包)
Microsoft.Extensions.Dependencylinjectiob (详细完成)
*运用的是比拟经典的接口别离形式,笼统包完成了接口的定义,完成包含详细的完成,组件只需求依赖他的笼统接口,而不需求依赖完成,在运用它的时分注入他的完成即可(这样做的益处在于我们能够在运用时决议我们详细的那个完成,将来能够做恣意的扩展来交换依赖注入的完成)

依赖注入的中心类型:
IServiceCollection (担任效劳的注册)

ServiceDescriptor (效劳注册时的信息)

IServiceProvider (详细的容器,由IServiceCollection)
IServiceScope (表示一个容器的子容器的生命周期)

.Net Core里提供了那些生命周期呢?
单例 Singleton (指整个根容器的生命周期内都是单例,不论时子容器还是根容器,它和作用域的区别,一个是全局的,一个是范围的单例)

作用域 Scoped (在容器(或子容器)的生存周期内,假如容器释放掉那就意味着我的对象也会释放掉,在这个范围内得到的是一个单例形式)

猜你喜欢

转载自blog.csdn.net/yyone123/article/details/106662253