回答
IoC不只是爲了消除依賴關係。你的程序集和類沒有緊密耦合。而且您可以在每次需要時更換它們。
但是其中一種主要方法是在運行時改變依賴關係並使用類和對象。您可以要求您的IoC容器爲您提供業務處理程序課程,而且您無需關心將什麼課程返回給您。 IoC容器將決定返回實例的哪個類,並且您可以爲其提供此邏輯。
IOC(DI)刪除緊密耦合的依賴,也有用於創建不同的對象類型,處理程序,業務基礎上每一種情況提供一些邏輯,也沒有必要讓你在運行時關心他們。
什麼問題,它試圖解決?
- 解耦組分和層系統中的
- 從負責管理它的依賴在不同的環境
- 交換依賴實現。緩和的成分。
- 允許通過嘲弄依賴性來測試組件。
- 提供一種在整個應用程序中共享資源的機制。
優勢
- 使得它更容易對代碼進行測試。沒有它,你正在測試的代碼很難被隔離,因爲它將與系統的其他部分高度耦合。
- 開發模塊化系統時很有用。您可以在不需要重新編譯的情況下更換組件。
謝謝...但我仍然沒有看到它的好處...也許我失去了一些東西.. – Carol 2011-04-19 04:48:02
編輯提供一個簡單的列表,但記住,瞭解真實的位置的IoC在你的應用程序中,你應該有一個良好的企業架構和設計經驗。 – 2011-04-19 04:58:25
閱讀:Head First Design Patterns第一
這將解釋很多的基礎概念將幫助您瞭解企業級模式
- 1. 在awk圖案輸出沒有輸入
- 2. HTML5輸入圖案小數
- 3. HTML輸入圖案驗證如果串只包含圖案
- 4. 在SPSS中輸入多個答案
- 5. NG-圖案用於輸入文本
- 6. 如何在Python中輸入腳本輸入的答案
- 7. IOC中的結構圖
- 8. IoC spring.net注入System.Type
- 9. 在ASP.net中使用Unity IOC容器解決方案
- 10. 如何在輸入字符後輸入框與提案下拉
- 11. python在函數中發佈答案,在GUI中的輸入框
- 12. 在輸入字段中嵌入圖像
- 13. 如何在Python 3中輸入兩個不同輸入的答案?
- 14. Laravel依賴注入/ IOC
- 15. Caliburn.Micro activateitem和Ioc注入IWindowManager
- 16. IoC容器。注入容器
- 17. IoC和依賴注入
- 18. ASMX依賴注入和IoC
- 19. ASP.NET MVC和IOC - 鏈注入
- 20. 在python中輸入輸入?
- 21. 可能在無線電輸入中輸入文字輸入嗎?或者更適合語義的解決方案?
- 22. Python - 在列表中查找輸入答案,答案是列表元素之一
- 23. IoC:使用靜態IoC容器進行依賴注入
- 24. 在春季IOC
- 25. 如何在每個輸入使用循環後輸出答案?
- 26. 無法保存圖片在插件中插入圖案
- 27. html表單輸入 - 每個輸入字段的多個答案
- 28. 用戶輸入文本輸入的最佳解決方案
- 29. SED插入匹配圖案
- 30. 在內部函數中使用輸入參數的方案
這是關於這個問題的好文章:HTTP://馬丁·福勒。 com/bliki/InversionOfControl.html – 2011-04-19 05:23:51