依賴注入是 ASP.NET Core 里的核心概念之一,我們平??偸怯淇斓卦?code style="margin: 1px 5px; padding: 0px 5px !important; line-height: 1.8; vertical-align: middle; display: inline-block; font-family: 'Courier New', sans-serif !important; font-size: 12px !important; border: 1px solid rgb(204, 204, 204) !important; border-radius: 3px !important; background-color: rgb(245, 245, 245) !important;">Startup類的ConfigureServices方法里往IServiceCollection里注冊(cè)各種類型,以致有一些同學(xué)可能誤以為依賴注入是只有 ASP.NET Core 才有的特性。但實(shí)際上依賴注入也可以用于 .NET Core 的 Console app. 別忘了, ASP.NET Core 的應(yīng)用本質(zhì)上也只是一個(gè) Console app而已。今天我們?cè)贑onsole app里試試依賴注入。

我們的目標(biāo)是創(chuàng)建一個(gè)Console app,在其中引入依賴注入,注冊(cè)不同生命周期的類型,然后創(chuàng)建幾個(gè)線程,每個(gè)線程分別依靠依賴注入“創(chuàng)建”若干類型實(shí)例,然后觀察不同生命周期下這些實(shí)例變量是否指向一個(gè)實(shí)例還是各不相同。

ServiceCollection

現(xiàn)在閉上眼睛想象一下(別睡著了),我們自己就是依賴注入的執(zhí)行者,如果有一個(gè)漂亮的程序媛跟我們說(shuō)她要某某類型的一個(gè)實(shí)例,我們應(yīng)該怎么做?我們首先需要知道這某某類型是個(gè)什么東西以及如何創(chuàng)建對(duì)吧?我們?nèi)绾沃滥兀慨?dāng)然是她得提前告訴我們啊,而我們要有個(gè)地方把這些信息保留下來(lái)然后在需要的時(shí)候可以查閱。在 .NET Core里,可以依賴注入的類型叫

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式