2010-07-14 23 views
3

我的一個朋友(他是一個.NET/C++開發者,因爲我)問我:依賴注入:我們都需要知道嗎?

依賴注入:做我們都需要知道嗎?爲什麼?

你能告訴:

  1. 您的意見:我們真的需要知道這種模式,以及如何實現它?
  2. 很好的參考(鏈接),可以解釋「爲什麼?」

非常感謝。

P.S.我瞭解到我問了很多...但我自己找不到好的參考...

+2

可能的重複:http://stackoverflow.com/questions/130794/what-is-dependency-injection – 2010-07-14 06:02:04

回答

1

好評論張貼在這裏,但對於這個問題沒有明確的答案:「你的意見:我們是否真的需要了解這種模式以及如何實施?「

從我的角度來看,它應該是‘是的’,如果選擇的至少一個應用到你:

  • 你需要寫(自動)單元測試的應用程序;
  • 你需要解耦應用程序的組件。
  • 你想有能力輕易地改變數據的來源問題

回答「爲什麼?」中列出了建議鏈接

非常感謝您的幫助。

4

依賴注入是一種用於創建鬆散耦合代碼的工具。因此,這不是強制性的,但它會使更改,重構和測試更容易。如果你想徹底討論DI以及如何應用DI,我推薦即將推出的書Dependency Injection in .NET。有幾個章節可供下載,以幫助您入門。儘管本書中的例子都是C#,但這些想法是通用的。

3

依賴注入是一個該工具可幫助程序員或架構師設計模塊化,獨立,鬆散耦合且易於測試的代碼。這不是一個強制性的要求,但是它傾向於使軟件開發變得更簡單,因爲它減輕了很多依賴管理問題。由於它將你的組件從它們的依賴關係中解耦出來,因此它可以更容易地將這些組件與其他更大的產品單獨進行單獨測試。

大約一年前,我在SO上發佈了關於IoC(控制反轉)問題的答案。您可能會發現該答案很有用,因爲這些概念也適用於依賴注入,因爲IoC只是實現DI的一種手段。

Can anyone explain to me, at length, how to use IOC containers?

另外,這裏有一些很好的參考更詳細解釋DI: