【问题标题】:DTO objects design c# asp.net mvc2c# asp.net mvc2 DTO对象设计
【发布时间】:2011-08-19 04:41:22
【问题描述】:

我应该将我的 DTO 对象放在我的域服务/业务层中吗?

这样的属性可以有数据注释,这是一种好习惯吗?特别是对于使用 asp.net mvc 2 的客户端验证? (我无权访问 asp.net mvc3,否则我可以访问 IClientValidator? 或类似的接口)...

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

我希望将 DTO 翻译为我的域服务层中的实体,因此感谢您对上述内容的回答..

【问题讨论】:

    标签: c# asp.net-mvc-2 dto


    【解决方案1】:

    您应该将 DTO 放在单独的程序集中以避免层耦合。

    在此处阅读更多信息:http://martinfowler.com/eaaCatalog/separatedInterface.html

    这样的属性可以有数据注解吗,这是个好习惯吗

    是的,我想是的。因为它使所有层都可以在不重复代码的情况下验证对象。属性也被添加到沙堡生成的帮助文件中,让每个阅读它的人都可以看到你的模型/DTO 有哪些合同要求。

    【讨论】:

    • 谢谢...如果我转到 v3,我只会真正用于 asp.net mv2 的数据注释我将使用那里可用的选项...
    • 我也在 mvc3 中使用 DataAnnotations。您指的还有哪些其他选项?
    • 客户端验证...据我所知,我认为在 mvc3 中有一个选项可以连接到客户端验证,我完成业务逻辑的方式是在 c# 中,我会实现相关接口,以便客户端验证也可以显示给用户......我认为我没有正确理解这一点,我想我可能需要调查一下......你知道我可以连接到客户端的方法吗在 mvc2 中验证而不使用数据注释?
    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 2023-01-16
    相关资源
    最近更新 更多