我已經閱讀了關於IOC/DI的依賴注入。它說創建我們希望注入的每個類的接口。它不違反接口的定義(實現我們想要在類中執行行爲的地方)。任何幫助將不勝感激。謝謝。IOC/DI voilates接口定義
0
A
回答
2
我想你混淆的主要觀點是,在DI/IoC的情況下,我們沒有一個類我們要注入,我們有一個服務我們要注入。假設我有一個Logger
類。這不是我想要注入的Logger
類本身,它是由接口描述的一組記錄服務。如果我沒有使用DI或IoC,我會在每個課程中有一個地方,我會去ILogger _logger = new Logger()
或,這兩個地方都將我的代碼耦合到接口的特定實例。但是在DI/IoC中,我將這一步留給了框架,並且不用擔心業務邏輯類中的具體實現。
1
它不違反接口的定義(實現我們想在類中強制執行的行爲)嗎?
不,它不。
您正在創建接口的事實意味着您正在定義行爲。你是否打算使用DI來實現你的實現並不是那麼重要。
相關問題
- 1. 實現定義的接口
- 2. TypeScript類接口定義
- 3. 接口定義語言
- 4. 定義使用接口
- 5. 醜類接口定義
- 6. 接口的函數定義
- 7. 明確定義接口
- 8. 未定義的引用功能接口::接口(int)
- 9. 我可以重寫iPhone調用接口與自定義接口
- 10. 如何實現定義另一個接口元素的接口
- 11. OpenERP XML-RPC接口和對象定義/接口
- 12. 用戶定義的轉換爲接口
- 13. IOS重複的接口定義
- 14. 類'NSValue'的重複接口定義
- 15. 自定義UIBarButtonItem與接口生成器
- 16. 未定義指數與PDO式接口
- 17. 接口使用自定義集合類
- 18. 類'GTMHTTPUploadFetcher'的重複接口定義
- 19. 去嵌入自定義接口
- 20. 抽象類定義觀察者接口
- 21. 網絡接口不包含「」的定義
- 22. 如何定義網絡接口
- 23. 打字稿:類型定義(接口)
- 24. 定義與接口的返回類型
- 25. 用戶定義的IOS接口上
- 26. 離子窗口。連接未定義
- 27. WCF定義WSDL中的接口契約
- 28. 自定義PHP FastCGI接口? (更快?)
- 29. JAX-RS Jersey/Grizzly定義接口資源
- 30. 轉到Visual Studio中的定義 - 接口
你能舉出一個例子,以便我們更好地理解你的觀點 – 2012-04-23 05:25:47
我不確定你會在哪裏閱讀「創建每個類的接口」,你的意思是爲你希望注入的類創建接口? – Dimitar 2012-04-23 05:32:23
是的。它非常明顯,如果我將構建一個類,然後在某個地方創建它的對象。 – ethicallogics 2012-04-23 05:35:30