【寫(xiě)在前面】嘗試做完一件工作之外自我覺(jué)得有意義的一件事,那就從翻譯Autofac的幫助文檔吧。

入門(mén)指南

將Autofac集成你的應(yīng)用程序的步驟通常很簡(jiǎn)單,一般是:

  • 時(shí)刻以IOC(控制反轉(zhuǎn))的思想來(lái)規(guī)劃你的應(yīng)用程序

  • 在你的Porject中添加Autofac引用

  • 按照如下步驟設(shè)計(jì)應(yīng)用程序的啟動(dòng)環(huán)節(jié)

    • 創(chuàng)建一個(gè)ContainerBuilder

    • 向ContainerBuilder注冊(cè)組件

    • 通過(guò)ContainerBuilder的Build()方法獲得Container(后續(xù)需用到)

  • 在應(yīng)用程序運(yùn)行環(huán)節(jié)時(shí),按如下步驟執(zhí)行

    • 通過(guò)Container獲得一個(gè)lifetime scope

    • 通過(guò)lifetime scope解析出組件實(shí)例

    • 通過(guò)實(shí)例繼續(xù)執(zhí)行

本篇將通過(guò)入門(mén)指南實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Console應(yīng)用程序,一旦有了基礎(chǔ),后續(xù)可以延伸集成WCF、ASP.NET等等。

規(guī)劃應(yīng)用程序

先簡(jiǎn)單解釋一下IOC(控制反轉(zhuǎn))。
通常情況下,類A若需要類B的一些功能,則在類A中需要通過(guò)“new”操作來(lái)完成創(chuàng)建和使用功能,這樣在代碼層面就固定住了類A和類B之間的相互依賴關(guān)系。這樣的“依賴”,在后續(xù)的重構(gòu)或修改時(shí),影響面很大。
而IOC(控制反轉(zhuǎn))的思維,則是取消,由類A來(lái)創(chuàng)建類B,變更為在執(zhí)行期間,由IOC容器來(lái)根據(jù)需要和約定自動(dòng)創(chuàng)建類B來(lái)給類A使用。

Martin Fowler有一篇著名的文章,解釋何謂IOC,可以點(diǎn)擊“鏈接”查看。

在本篇的示例中,我們將定義一個(gè)類,這個(gè)類可以輸出一些數(shù)據(jù);但我們不想和Console綁定住,因?yàn)槲覀儾⒉荒艽_定在實(shí)際使用過(guò)程中Console是否真的可用。

我們通常可以這樣實(shí)現(xiàn):

 

延伸閱讀

學(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í)是年輕人改變自己的最好方式

我想了解如何學(xué)習(xí)

姓名:
手機(jī):
留言:
 

    <label id="bha4m"><em id="bha4m"></em></label>
    <ins id="bha4m"><strike id="bha4m"></strike></ins>
  • <label id="bha4m"><xmp id="bha4m">