我正在使用Unity框架作爲IoC容器。Unity - 通過XML工廠
我的配置看起來有些像這樣:
<unity>
<container>
<register type="Namespace1.IFoo, FooAsm"
mapTo="Namespace2.Bar, BarAsm">
</register>
</conainer>
我想註冊一個容器使用的工廠方法。我如何使用app.config來存檔它?
我期待這樣的事情:
<unity>
<container>
<register type="Namespace1.IFoo, FooAsm"
factory="Namespace2.Bar, BarAsm"
method="create">
</register>
</conainer>
</unity>
任何suggestsions?
切換到基於代碼的配置,嚴重。如果可以的話,不要使用XML來配置容器,因爲它很脆弱並且容易出錯。基於代碼的配置更加靈活,並且可以爲您提供編譯時支持。 – Steven 2012-03-30 12:50:07
基於代碼的配置如何更靈活?要麼添加反射,要麼需要強大的參考。兩者都不是很靈活。 – Jaster 2012-03-30 12:52:32
它更靈活,因爲你可以註冊lambda表達式。有什麼用途沒有一個強有力的參考?既然你在XML中命名了這個類型,你仍然有一個對這個類型的引用,但是現在你鬆散的編譯時間檢查。 – Steven 2012-03-30 12:55:50