Inversion of control (控制反轉)

IOC實際上就是爲了解耦,減小對象之間的依賴。

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



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

比如 構造函數的方法




容器



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

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

引用:

http://www.codeproject.com/Articles/29271/Design-pattern-Inversion-of-control-and-Dependency

http://www.codeproject.com/Articles/188054/An-Introduction-to-Managed-Extensibility-Framework

http://www.cnblogs.com/Zhouyongh/archive/2011/04/22/2018989.html



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