2011-02-07 58 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