概念:函數
DI依賴注入: IServiceCollection僅支持構造函數注入3d
什麼是依賴注入?對象
若是對象A依賴對象B,對象B依賴對象C,就能夠先構造對象C,而後傳遞給對象B,再把對象B傳遞給A。獲得A的具體實例;blog
IServiceCollection能夠支持無限層級的依賴注入;前提是都要先註冊服務(註冊抽象和具體的映射關係)生命週期
分別註冊對象A和對象B進程
在對象B構造函數中建立對象作用域
控制中分別構造對象A和B開發
019 IServiceCollection的生命週期get
在建立對象的時候,不一樣的狀況,須要讓對象單例;每一次都建立一個新實例;不一樣的做用域建立實例;io
瞬時生命週期: 每一次getService獲取到的實例,都是不一樣的實例
單例生命週期:在整個進程中獲取到的都是同一個實例
做用域生命週期:在同一個做用域,獲取到是同一的實例,不一樣的做用域下,獲取的是不一樣的對象實例;
建議:開發中,通常狀況下使用單例生命週期。更多的是瞬時生命週期的使用