这是土地的铺路。像大多数人,我有我的域对象,我有我的视图模型。我喜欢使用视图模型的想法,因为它允许为特定的视图环境专门创建模型,而不需要改变我的业务对象。
我的问题是在我的域对象上定义了类型级验证,并将这些规则交给客户端。在这种情况下,我说我正在使用数据注释来描述验证规则,当我将数据从域对象移动到视图模型时,视图模型不再知道应该使接口执行什么验证(因为验证是定义在域对象上)。
使用MVC 2,您可以根据当前对象的验证规则,使其自动执行客户端/服务器端验证。但是因为验证规则是在域对象而不是视图模型上定义的,所以我必须在视图模型上复制验证规则才能使其工作。
其他人如何处理这类问题?我的想法是,除了将数据从域对象映射到视图模型之外,我们还需要映射验证规则,但我并没有真正看到其他人在谈论这个问题… Brad Wilson最近谈到了这个问题但是还没有真正解决域对象和视图模型上的重复规则…你的想法是什么?
干杯
安东尼