亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

.net中的DI框架AutoFac簡(jiǎn)單介紹

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

AutoFac是.net程序下一個(gè)非常靈活易用,且功能強(qiáng)大的DI框架,本文這里簡(jiǎn)單的介紹一下使用方法。

安裝:

Install-Package Autofac

簡(jiǎn)單的示例:

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

簡(jiǎn)單的說,AutoFac包括如下兩步:

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

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

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

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

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

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

雖然做法粗暴,但在一些簡(jiǎn)單的場(chǎng)景下還是非??焖儆行У?。

MEF

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

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

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

參考文檔:

AutoFac本身功能非常強(qiáng)大,這里只是一個(gè)簡(jiǎn)單的入門,更多功能可以參考官方文檔

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

相關(guān)文章

  • Asp.net response對(duì)象與request對(duì)象使用介紹

    Asp.net response對(duì)象與request對(duì)象使用介紹

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

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

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

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

    本文介紹的是ASP.NET的實(shí)用技巧,從跟蹤頁面,表單數(shù)據(jù)的服務(wù)器端驗(yàn)證和跳過表單驗(yàn)證等方面為大家介紹的。希望對(duì)你有幫助,一起來看。
    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身份驗(yàn)證

    asp.net core中如何使用cookie身份驗(yàn)證

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

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

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

    淺談?lì)愋娃D(zhuǎn)換操作符is/as

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

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

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

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

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

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

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

最新評(píng)論