諾禾、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 (在容器(或子容器)的生存週期內,假如容器釋放掉那就意味着我的對象也會釋放掉,在這個範圍內得到的是一個單例形式)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章