Autofac一款IOC容器,據(jù)說比Spring.Net、Unity、Castle性能高,且比較輕量級,也有人做過測試,自己可以找找,看看比拼的結果是怎樣的,在使用Autofac之前我們先來了解幾個概念;在我看來依賴倒置(DIP)、控制反轉(IOC)、 依賴注入(DI),都源于一個思想,一項技術,思想就是面向接口編程,技術就是反射。

通常我們在編程的時候呢,類與類之間都有著這樣那樣的關系,沒有關系的類,也就說明它沒有存在的必要了;那么對于復雜的系統(tǒng)來講,類之間的關系也會變的更復雜,如果需求發(fā)生變化,那將是改死人的節(jié)奏,那么如何降低依賴關系,提高系統(tǒng)的擴展性,就非常重要了,也就是我們經(jīng)常說的解耦。

依賴倒置

依賴倒置原則:

  1. 上層模塊不應該依賴下層模塊,它們共同依賴于抽象
  2. 抽象不依賴于具象,具象依賴抽象

上層是使用者,下層是被使用者,如果下層發(fā)生變化那么上層也要進行修改,那么該怎么辦呢,就是上層和下層共同依賴于一個抽象,那么抽象是穩(wěn)定的,上層也就不需要修改了。

控制反轉

通常我們在編程的時候,都是使用者需要什么對象就實例化一個對象,現(xiàn)在有這么一個場景,比如我們的系統(tǒng)之前用的是SqlServer,現(xiàn)在需要也支持MySql,那么業(yè)務邏輯層也需要改動很多。

現(xiàn)在利用控制反轉我們可以將實例化對象交給IOC容器來實現(xiàn),這樣使用者就不需要改動了,用一句話來總結就是:

使用者不再實例化被使用者對象,而交給IOC容器來實現(xiàn)

依賴注入

 就是由IoC容器在運行期間,動態(tài)地將某種依賴關系注入到對象之中。

這些概念已經(jīng)有很多文章了,不了解的童鞋可以移步這里http://www.cnblogs.com/qqlin/archive/2012/10/09/2707075.html

Autofac(IOC容器)

延伸閱讀

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