ASP.NET中IOC容器Autofac(依賴注入DI 控制反轉IOC)

IOC的一個重點是在程序運行中,動態的向某個對象提供它所需要的其他對象。這一點是通過DI來實現的。Autofac則是比較流行的一款IOC容器。

IoC和DI有什麼關係呢?其實它們是同一個概念的不同角度描述。

一、IOC

IOC—Inversion of Control,即“控制反轉”,不是什麼技術,而是一種設計思想,一種面向對象編程法則,目的是程序解耦。

誰控制誰,控制什麼?

傳統程序設計,我們直接通過new object()創建對象,是程序主動去創建依賴對象;而IoC是有專門一個容器來創建這些對象,即由Ioc容器來控制對象的創建。

爲何叫控制反轉?

有反轉就有正轉,傳統程序是我們自己主動創建並控制依賴對象,叫正轉。

反轉則是由容器來幫忙創建及注入依賴對象,由容器幫我們查找及注入依賴對象,對象只是被動的接受依賴對象。

二、DI

DI—Dependency Injection,即“依賴注入

比如對象A需要操作數據庫,以前我們總是要在A中自己編寫代碼來獲得一個Connection對象,有了Autofac我們就只需要告訴Autofac,A中需要一個Connection,至於這個Connection怎麼構造,何時構造,A不需要知道。在系統運行時,Autofac會在適當的時候製造一個Connection,然後像打針一樣,注射到A當中,這樣就完成了對各個對象之間關係的控制。A需要依賴 Connection才能正常運行,而這個Connection是由Autofac注入到A中的,依賴注入的名字就這麼來的。

三、Autofac

Autofac是一個開源的依賴注入框架,通過NuGet安裝:

中文文檔https://autofaccn.readthedocs.io/zh/latest/

使用方法https://www.jianshu.com/p/f5d6346b0a7b

...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章