2011-05-05 55 views
0

我应该把我的DTO对象放入我的域服务/业务层吗?DTO对象设计c#asp.net mvc2

可以这样的属性有数据注释,这是一个很好的做法吗?特别是用asp.net mvc 2进行客户端验证? (我没有访问asp.net mvc3,否则我将有权访问IClientValidator?或类似的接口)...

否则,所有我的valdiation是在c#中,我将任何错误冒泡到UI或Web项目

我希望是这样回答上述认识到DTO翻译成我的域名服务层内的实体..

回答

2

你应该把你的DTO在单独的程序,以避免层耦合。

在这里阅读更多:http://martinfowler.com/eaaCatalog/separatedInterface.html

这种性质可以有数据注解,这是很好的做法

是的,我是这么认为的。因为它使所有图层能够验证对象而无需重复代码。属性也被添加到sandcastle生成的帮助文件中,让每个人都可以看到它,看看您的模型/ DTO具有什么合同要求。

+0

谢谢...数据注释我只会真正用于asp.net mv2,如果我转到v3我将使用那里的可用选项... – Haroon 2011-05-05 09:21:18

+0

我也在mvc3中使用DataAnnotations。你指的是什么其他选项? – jgauffin 2011-05-05 11:34:16

+0

客户端验证...我认为在mvc3中,据我所知,有一个选项挂钩到客户端验证,我做我的业务逻辑的方式是在C#中,我将实现相关接口,以便客户端验证也可以显示给用户...我不认为我正确理解这一点,我想我可能需要看看这个...你知道一种方式,我可以挂钩到mvc2客户端验证,而无需使用数据注释? – Haroon 2011-05-05 14:58:40