2011-02-07 62 views
3

溫莎城堡可以做值注射嗎?溫莎城堡 - 價值注入

例如,假設我有一個Employee屬性的模型對象,我想要自動映射到描述View for MVC的接口。

我希望當我的模型數據發生變化時,Employee.FirstName被設置爲自動設置爲IEmployeeView.FirstName。

現在我正在使用ValueInjecter,但是如果溫莎能做到這一點,我想放棄對程序集的依賴。 (我已經使用溫莎的IoC和AOP其他東西)

+0

我也想評論說,當數據改變時,我只使用ValueInjector來設置View界面的屬性。當溫莎找到不同的服務時不會發生這種情況。如果需要,我可以發佈一個控制器的例子。 – jonathanpeppers 2011-02-07 15:55:05

+0

我有時不直接使用ValueInjecter,但有IBuilder 接口和它的實現,這一切都由Windsor解決,我在這裏使用這種技術:http://prodinner.codeplex.com – Omu 2011-04-30 17:47:19

回答

4

可能可以與溫莎做到這一點(或與此有關的任何其他IoC容器),但IoC容器更適合管理服務,不是數據容器。如果您嘗試管理這樣的數據,您可能會遲早會陷入服務定位器陷阱。

ValueInjecter的適當替代方案是AutoMapper

+0

我剛剛知道他們的設施有自動佈線事件:http://www.castleproject.org/container/facilities/v1rc3/eventwiring/index.html我認爲他們可能有類似的屬性。 AutoMapper仍然是另一個程序集,我喜歡ValueInjecter,因爲它看起來更簡單。 – jonathanpeppers 2011-02-07 15:47:39