2014-01-20 29 views
0

我們正在構建一個計算引擎,其中有許多對象在執行計算時進行交互。這些對象彼此之間具有依賴關係,並模仿真實世界系統的一個子集。我們正在逐步構建計算引擎,我們逐漸模擬系統的某些部分,因此隨着我們的進展,可能會導致依賴關係圖的變化。我們可以明確聲明代碼中對象之間的依賴關係,但這可能導致將來不得不更改這部分代碼。會使用IoC緩解這個問題嗎?或者它會是一個矯枉過正的問題?IoC適合計算引擎嗎?

+0

您可以在這些階段之前和之後提供一些示例代碼嗎? –

回答

0

有幾種方法,應用依賴注入可能是有用的:

  1. 它可以讓你需要單獨進行測試抽象代碼。在你的情況下,你可能想要將計算引擎分成多個部分,以便更容易地測試引擎的較小部分,或者抽象引擎在內部使用的數據庫引擎。
  2. 它允許該引擎由多個團隊開發。通過取決於其他團隊提供的抽象(或者您爲其他團隊指定),它可以讓您取得進展,而不會被其他團隊的進度所阻塞。
  3. 如果發動機由較小的部件組成,必須是可更換的(規格圖案),爲這些部件注入抽象可以幫助實現這一點。如果你只是依賴抽象,你甚至可以在運行時執行此操作。

但是,如果這個計算引擎是由一個團隊開發,還沒有得到需要抽象(數據庫,文件系統等)上的任何東西任何相關性,而不是複雜,測試單獨部分將使開發和驗證更容易,在該計算引擎中使用依賴注入可能無濟於事。