我想了解依賴注入,我正在使用統一應用程序塊來幫助。依賴注入Unity應用程序塊
我想要做的是,有一個控制檯應用程序,它將註冊一個類(只要它實現了一個特定的接口)並執行一個方法... 所以實現此方法的類的方法將是執行。
希望是有道理的......在正確的方向很好的推動將是完美的!
我正在看msdn上的文檔,但我仍然不能100%確定如何去做。
THX 史蒂夫
我想了解依賴注入,我正在使用統一應用程序塊來幫助。依賴注入Unity應用程序塊
我想要做的是,有一個控制檯應用程序,它將註冊一個類(只要它實現了一個特定的接口)並執行一個方法... 所以實現此方法的類的方法將是執行。
希望是有道理的......在正確的方向很好的推動將是完美的!
我正在看msdn上的文檔,但我仍然不能100%確定如何去做。
THX 史蒂夫
var container = new UnityContainer();
container.RegisterType<IFoo, Foo>();
container.Resolve<IFoo>().Bar();
解決時被調用,它會返回Foo
一個實例,因爲那是什麼註冊的IFoo的接口。
Unity沒有像更先進的DI Container一樣的基於約定的註冊功能。如果你想要遲到的作文,你可以看看MEF。
我從來沒有聽說過MEF,但你需要做的只是實現一個簡單的插件模式。我寫了一篇關於如何做到這一點的數據庫引擎而回,但它可以easilly被應用到任何實現的接口:
http://www.simonrhart.com/2009/04/example-of-plugin-pattern-on-compact.html
,您可以觀看30分鐘以下的YouTube視頻肚裏一步在解釋如何使用DI與團結應用塊
感謝一步,我將有一個發揮不。 我希望最終能夠讀取dll的應用程序,在那些實現特定接口並執行代碼的dll中實例化類。 該dll將生活在一個目錄中,所以我可以放入一個dll中獲取一些額外的功能,而無需更改應用程序。 希望我即將在正確的方向! 從未看過MEF,看看... thx – SteveCl 2010-05-24 14:27:33
MEF將爲您做到這一點。團結不會。 – 2010-05-24 15:24:29
你有沒有任何例子(如上面幾行)? 我有代碼工作,所以我註冊了多個類,實現相同的接口,並能夠解決所有問題,並執行我想要的代碼。現在它只是打開DLL的!也許我應該爲這1開始另一個問題! – SteveCl 2010-05-24 15:49:07