DTO 对象设计 c# asp.net mvc2
我应该将 DTO 对象放入域服务/业务层吗?
这样的属性可以有数据注释,这是好的做法吗?特别是对于使用 asp.net mvc 2 进行客户端验证? (我无权访问 asp.net mvc3,否则我可以访问 IClientValidator?或类似的接口)...
否则我所有的验证都是在 c# 中,并且我将任何错误冒泡到
我希望翻译的 UI 或 Web 项目中DTO 到我的域服务层内的实体,因此对上述问题的回答表示赞赏。
Should I put my DTO objects inside my domain service / business layer?
Can such properties have data annotations, is this good practice? Especially for client side validation with asp.net mvc 2? (I dont have access to asp.net mvc3 otherwise I would have access to the IClientValidator? or something similar interface)...
Otherwise all my valdiation is in c# and I bubble any errors up to the UI or web project
I hope to translate the DTO to Entities inside my domain service layer so answers to the above is appreciated..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该将 DTO 放在单独的程序集中以避免层耦合。
在此处了解更多信息:http://martinfowler.com/eaaCatalog/separatedInterface.html
吗?是的,我想是的。因为它使所有层都可以验证对象而无需重复代码。属性也被添加到 sandcastle 生成的帮助文件中,让每个阅读它的人都可以看到您的模型/DTO 有哪些合同要求。
You should put your DTOs in a separate assembly to avoid layer coupling.
Read more here: http://martinfowler.com/eaaCatalog/separatedInterface.html
Yes, I think so. Since it enables all layers to validate the object without code duplication. Attributes are also added to sandcastle generated help files which lets everyone reading it see what contract requirements your models/DTOs has.