当前位置 博文首页 > L秦岭:018-019 NET5_内置容器支持依赖注入+IServiceCollection

    L秦岭:018-019 NET5_内置容器支持依赖注入+IServiceCollection

    作者:L秦岭 时间:2021-02-16 16:32

    概念

    DI依赖注入: IServiceCollection仅支持构造函数注入

    什么是依赖注入?

    如果对象A依赖对象B,对象B依赖对象C,就可以先构造对象C,然后传递给对象B,再把对象B传递给A。得到A的具体实例;

     IServiceCollection可以支持无限层级的依赖注入;前提是都要先注册服务(注册抽象和具体的映射关系)

    分别注册对象A和对象B

      在对象B构造函数中创建对象

     

     控制中分别构造对象A和B

     019 IServiceCollection的生命周期

       在创建对象的时候,不同的情况,需要让对象单例;每一次都创建一个新实例;不同的作用域创建实例;

    瞬时生命周期: 每一次getService获取到的实例,都是不同的实例

    单例生命周期:在整个进程中获取到的都是同一个实例

    作用域生命周期:在同一个作用域,获取到是同一的实例,不同的作用域下,获取的是不同的对象实例;

    建议:开发中,一般情况下使用单例生命周期。更多的是瞬时生命周期的使用

     

      

     

    bk