Autofac一款IOC容器,據(jù)說比Spring.Net、Unity、Castle性能高,且比較輕量級,也有人做過測試,自己可以找找,看看比拼的結果是怎樣的,在使用Autofac之前我們先來了解幾個概念;在我看來依賴倒置(DIP)、控制反轉(IOC)、 依賴注入(DI),都源于一個思想,一項技術,思想就是面向接口編程,技術就是反射。
通常我們在編程的時候呢,類與類之間都有著這樣那樣的關系,沒有關系的類,也就說明它沒有存在的必要了;那么對于復雜的系統(tǒng)來講,類之間的關系也會變的更復雜,如果需求發(fā)生變化,那將是改死人的節(jié)奏,那么如何降低依賴關系,提高系統(tǒng)的擴展性,就非常重要了,也就是我們經(jīng)常說的解耦。
依賴倒置
依賴倒置原則:
- 上層模塊不應該依賴下層模塊,它們共同依賴于抽象
- 抽象不依賴于具象,具象依賴抽象
上層是使用者,下層是被使用者,如果下層發(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容器)
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結合數(shù)據(jù)結構來看看(二) 2017-07-26
![學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓](http://m.roadsoft.com.cn/attached/image/templet/e87d53eb-cf7a-4689-887a-1cd260f416a5.jpg)