*使用的是比較經典的接口分離模式,抽象包實現了接口的定義,實現包含具體的實現,組件只須要依賴他的抽象接口,而不須要依賴實現,在使用它的時候注入他的實現便可(這樣作的好處在於咱們能夠在使用時決定咱們具體的那個實現,將來能夠作任意的擴展來替換依賴注入的實現)架構
IServiceCollection (負責服務的註冊)框架
ServiceDescriptor (服務註冊時的信息)ide
IServiceScope (表示一個容器的子容器的生命週期)spa
單例 Singleton (指整個根容器的生命週期內都是單例,無論時子容器仍是根容器,它和做用域的區別,一個是全局的,一個是範圍的單例)設計
做用域 Scoped (在容器(或子容器)的生存週期內,若是容器釋放掉那就意味着個人對象也會釋放掉,在這個範圍內獲得的是一個單例模式)對象