創建依賴注入綁定的兩種常見機制(例如通過IOC容器)來自XML配置或命令代碼塊。在這些情況下,鍵值對是明確的(即鍵=請求類型,值=返回類型)。(自動)依賴注入綁定機制
儘管如此,還有第三種「啓發式」方法,其中僅嚮應用程序/ IOC容器提供[IMyClass]鍵,然後容器反映一組應用程序程序集依賴關係以查找所有名稱匹配的具體類[MyClass] 。換句話說,「返回類型」值是被發現的而不是被聲明的。
我想知道的是兩方面的:
- 其中IOC容器(或其他後期綁定工具)允許啓發式方法?這種方法有一個更常見的名稱嗎?
- 除了我列出的三個實踐中,還有其他的綁定技術嗎?
Unity和Ninject也支持基於約定的配置(與大多數其他着名的IoC容器一樣)。 –
Unity 2.0不支持基於約定的配置。當我寫我的書時,我與Chris Tavares(Unity的架構師)通信,他確認它不支持自動註冊。 –
你對Unity 2.0沒有立即開箱即用的支持是正確的,但是你可以更容易地使用基於約定的方法。 'IUnityContainer.RegisterType',所以它可以(很容易)完成。事實上,這是我們目前項目中的一個。 –