2010-06-19 115 views
2

我正在使用的演示應用程序有很長的啓動例程。 (想象一下:「現在加載數據...網狀樣條...登錄到第三方服務...」)。確定性初始化和依賴注入(基於構造函數)

花了整整一天的時間從頭開始學習DI,我現在創建整個(!)對象圖,只需調用一次容器。謝謝大家,順便提一下這麼多的想法和驚人的答案。這個社區岩石。

但是現在,我想要做的是使初始化確定性再次,所以我可以登錄我的工作流程(我使用Workflow Foundation 4.0,因爲我喜歡聲明式風格和事實,我可以顯示人圖形會發生什麼)當我加載數據,網狀樣條等等。你覺得有一個「StartupManager」 - 類(我現在的體系結構中唯一的單例,我殺死了所有其他的「實例getter」!),它會調用對象的輔助初始化方法是可以接受的做法嗎?注入(我在這裏使用buildUp()和基於屬性的DI)?

原因是我想顯式調用我的工作流活動中的長初始化方法。編輯看起來很棒,我的老闆在演出時會很高興(他沒有要求,我的想法是花週末做一些事情,我覺得這很有趣)。

回答

0

我假設你正在創建自己的DI框架以獲得樂趣並學習,對嗎?否則只是使用現有的。

否:)你不應該有任何靜態的東西。你的算法可能看起來像:

  • 你DI建設者的創建實例
  • 進這個實例的依賴關係定義(從文件或編程)
  • 調用該配置建設者的積累。這個方法應該叫您give_me_object_x上下文返回上下文
  • 的實例,你應該得到一個對象x充滿了所有的依賴

或者只是看看春天是如何構建的 - 它是寫得很好,一個很好的例子DI框架

相關問題