ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Asp .Net Core 依赖注入

Asp .Net Core 依赖注入

Linux操作系统 作者:大雄45 时间:2020-07-08 19:30:31 0 删除 编辑
借助依赖注入,可以管理类之间的依赖,帮助我们在构建应用时遵循设计原则,确保代码可维护性和可扩展性。ASP.NET Core的整个架构中,依赖注入框架提供了对象创建和生命周期管理的核心能力,各个组件互相协作,也是依赖注入框架能力来实现的。

Asp .Net Core 依赖注入Asp .Net Core 依赖注入
两个核心包:

  1. Microsft.Extensions.Dependency;injection.Abstractions (抽象包)
  2. Microsoft.Extensions.Dependencylinjectiob (具体实现)

*使用的是比较经典的接口分离模式,抽象包实现了接口的定义,实现包含具体的实现,组件只需要依赖他的抽象接口,而不需要依赖实现,在使用它的时候注入他的实现即可(这样做的好处在于我们可以在使用时决定我们具体的那个实现,未来可以做任意的扩展来替换依赖注入的实现)
依赖注入的核心类型:

  1. IServiceCollection (负责服务的注册)
  2. ServiceDescriptor (服务注册时的信息)
  3. IServiceProvider (具体的容器,由IServiceCollection)
  4. IServiceScope (表示一个容器的子容器的生命周期)
.Net Core里提供了那些生命周期呢?
  1. 单例 Singleton (指整个根容器的生命周期内都是单例,不管时子容器还是根容器,它和作用域的区别,一个是全局的,一个是范围的单例)
  2. 作用域 Scoped (在容器(或子容器)的生存周期内,如果容器释放掉那就意味着我的对象也会释放掉,在这个范围内得到的是一个单例模式)
  3. 瞬时(暂时)Transient (每次去从容器获取对象时都可以得到一个全新的对象)

原文来自: https://www.cnblogs.com/ZJCCoder/p/13068859.html

本文地址: https://www.linuxprobe.com/asp-di.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69955379/viewspace-2703329/,如需转载,请注明出处,否则将追究法律责任。

全部评论

注册时间:2019-12-11

  • 博文量
    447
  • 访问量
    195795