欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

.net中的DI框架AutoFac簡單介紹

 更新時間:2022年07月07日 15:38:27   作者:天方  
這篇文章介紹了.net中的DI框架AutoFac,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

AutoFac是.net程序下一個非常靈活易用,且功能強大的DI框架,本文這里簡單的介紹一下使用方法。

安裝:

Install-Package Autofac

簡單的示例:

static void Main(string[] args)
{
    var builder = new ContainerBuilder();
    builder.RegisterType<ConsoleLogger>().As<ILogger>();
																										
    var container = builder.Build();
    var logger = container.Resolve<ILogger>();
}

簡單的說,AutoFac包括如下兩步:

  • 通過 ContainerBuilder.RegisterXXX注冊服務(wù)
  • 通過Container.Resolve獲取服務(wù)

如果有某一接口服務(wù)有多個實現(xiàn),可以用如下方式獲取所有服務(wù)。

var loggers = container.Resolve<ILogger[]>();

程序集掃描注冊服務(wù)

我們也可以通過反射的方式掃描程序集,從而實現(xiàn)自動注冊。

var builder = new ContainerBuilder();
builder.RegisterAssemblyTypes(dataAccess)
       .Where(t => t.Name.EndsWith("Repository"))
       .AsImplementedInterfaces();

雖然做法粗暴,但在一些簡單的場景下還是非??焖儆行У?。

MEF

我之前介紹過.net framework下自帶的MEF框架,它和autofac的思路還是大不相同的。

AutoFac偏向于服務(wù)的抽象,無注入,簡潔,透明而且不失強大。

MEF則采用反射的方式,服務(wù)的提供由代碼注入自動完成,更加自動化,但不夠透明,它更側(cè)重于解決一組模塊間的互相依賴,耦合關(guān)系。它用來拆分用它來分析復(fù)雜的UI模塊,或者構(gòu)建插件是非常方便的。

參考文檔:

AutoFac本身功能非常強大,這里只是一個簡單的入門,更多功能可以參考官方文檔。

到此這篇關(guān)于AutoFac框架的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Asp.net response對象與request對象使用介紹

    Asp.net response對象與request對象使用介紹

    這篇文章主要介紹了Asp.net response對象與request對象使用,需要的朋友可以參考下
    2014-04-04
  • 關(guān)于中g(shù)ridview 字符串截取的方法

    關(guān)于中g(shù)ridview 字符串截取的方法

    在Gridview中,如果你的某一列字符串的長度過長,不做處理的話.那么將顯示的奇丑無比,可以采取設(shè)置樣式,將其顯示為定長,可以在點擊查看的時候,在另一個頁面對其進(jìn)行顯示
    2013-06-06
  • ASP.NET的實用技巧詳細(xì)介紹

    ASP.NET的實用技巧詳細(xì)介紹

    本文介紹的是ASP.NET的實用技巧,從跟蹤頁面,表單數(shù)據(jù)的服務(wù)器端驗證和跳過表單驗證等方面為大家介紹的。希望對你有幫助,一起來看。
    2015-10-10
  • ASP .NET調(diào)用javascript中Response.Write和ClientScript.RegisterStartupScript的區(qū)別

    ASP .NET調(diào)用javascript中Response.Write和ClientScript.RegisterSta

    最近在用ASP .NET的code behind 調(diào)用javascript中發(fā)現(xiàn)Response.Write不能拿到form的值,而ClientScript.RegisterStartupScript可以。
    2010-12-12
  • asp.net core中如何使用cookie身份驗證

    asp.net core中如何使用cookie身份驗證

    這篇文章主要介紹了asp.net core中如何使用cookie身份驗證的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • asp.net 使用ObjectDataSource控件在ASP.NET中實現(xiàn)Ajax真分頁

    asp.net 使用ObjectDataSource控件在ASP.NET中實現(xiàn)Ajax真分頁

    ASP.NET 3.5中新增加的ListView控件是一個用于頁面數(shù)據(jù)綁定和界面布局的非常棒的控件,它在ASP.NET 2.0 GridView的基礎(chǔ)上做了很多改進(jìn),用戶在使用時可以控制的元素更多,開發(fā)時的靈活性更大了,個人覺得ListView在使用時比DataGrid和GirdView更加順手。
    2009-11-11
  • 淺談類型轉(zhuǎn)換操作符is/as

    淺談類型轉(zhuǎn)換操作符is/as

    淺談類型轉(zhuǎn)換操作符is/as,需要的朋友可以參考一下
    2013-03-03
  • ASP.NET Core WebAPI實現(xiàn)本地化(單資源文件)

    ASP.NET Core WebAPI實現(xiàn)本地化(單資源文件)

    這篇文章主要介紹了ASP.NET Core WebAPI實現(xiàn)本地化(單資源文件),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • MultiLine 換行后實現(xiàn)讀取不換行的具體思路

    MultiLine 換行后實現(xiàn)讀取不換行的具體思路

    輸入內(nèi)容中有換行,保存到數(shù)據(jù)庫,直接查看感覺沒有換行,但查詢結(jié)果“以文本格式顯示結(jié)果”你就會發(fā)現(xiàn) 其實是有換行的,下面與大家分享下具體的解決方法
    2013-06-06
  • ASP.NET服務(wù)器控件的生命周期分析

    ASP.NET服務(wù)器控件的生命周期分析

    這篇文章主要介紹了ASP.NET服務(wù)器控件的生命周期分析,較為詳盡的講述了asp.net服務(wù)器控件的運行原理與過程,有助于深入了解asp.net程序的運行原理,需要的朋友可以參考下
    2014-11-11

最新評論