1. 程式人生 > >Inversion of control (控制反轉)

Inversion of control (控制反轉)

IOC實際上就是為了解耦,減小物件之間的依賴。

看下面的圖中程式碼,clsCustomer類依賴clsAdderess類。這樣程式碼會有一個問題,clsAdderess類改了程式碼以後,clsCustomer類同樣需要重編譯。



解決這個問題,要引入介面對他們進行解耦。

比如 建構函式的方法



容器



實際上這就是mef模式的解決方法。

MEF(Managed Extensibility Framework),在.net4.0後被正式引入.net framework中,通過簡單的附加Export,Import標籤,表明元件之間的“消費”和“提供”關係,MEF在底層動態的完成元件識別,裝配工作。簡單來說,就是一個製造器,把零散的零件放進去,自動構造機器。


引用: