依賴注入是 ASP.NET Core 里的核心概念之一,我們平常總是愉快地在Startup類的ConfigureServices方法里往IServiceCollection里注冊各種類型,以致有一些同學(xué)可能誤以為依賴注入是只有 ASP.NET Core 才有的特性。但實(shí)際上依賴注入也可以用于 .NET Core 的 Console app. 別忘了, ASP.NET Core 的應(yīng)用本質(zhì)上也只是一個(gè) Console app而已。今天我們在Console app里試試依賴注入。

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

ServiceCollection

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

網(wǎng)友評論