2012-01-07 46 views
1

我有一個名稱空間,其中包含許多類(在各種文件夾結構中)。然而,很多這些類都依賴於對方。在類之間的單個名稱空間中使用IOC

即使在單個命名空間中,這是一個使用IOC庫(例如Autofaq)的地方嗎?

感謝

+4

依賴注入是建立_loosely coupled_應用的模式。如果你的類之間有很多交叉引用(即這些類​​是強耦合的),我會建議首先解開這些引用,而不是向它們拋出一個工具。 – 2012-01-07 21:05:27

+3

命名空間與依賴注入無關。即使所有類都在單個命名空間中,也可以使用依賴注入。然而,命名空間是有原因的。他們幫助您分組課程,從而保持您的代碼基礎可維護。 – Steven 2012-01-07 21:56:50

+0

謝謝大家。 Sebestian,我想你的意思是接口等代碼? – dotnetdev 2012-01-08 01:29:25

回答

1

理想情況下,你應該在應用程序中(靠近入口點),其中的部件連接在一起只有一個「組成的根」。那將是唯一一個使用類似autofac的地方。

單獨的類不應該依賴於特定的依賴注入框架。它們應該只符合通用的依賴注入原則,即通過構造函數參數來進行依賴。圖書館也不應該依賴於DI框架。

(並非所有DI框架,使之成爲可能。有些要求你添加屬性的類,你可以考慮的例外規則。)

相關問題