【发布时间】:2011-01-19 22:11:51
【问题描述】:
我正在开发我的第一个 DDD 应用程序并尝试遵循我在过去几个月中学习的一些基本规则。
我已经使用 Nhibernate 实现了存储库模式。
我以为我可以将我的实体从控制器“移动”到视图,但很快我就意识到这几乎是不可能的。
大多数人似乎更喜欢为每个视图定义特定的视图模型。
我并不特别喜欢重新定义我已经为我的实体创建的字段的想法,但似乎这是唯一的方法。
现在我面临着要附加一些验证规则的情况。
我以为我可以将验证规则(使用 DataAnnotations)附加到实体,但如果我使用视图模型,它就无法工作。
以下是问题:
- 验证不应该是域模型的一部分吗?
- 创建模型然后花时间在视图模型上重新映射相同的字段(属性)不是很耗时吗?
- 如果它至少没有验证规则,这难道不是一个贫血模型吗? 我开始怀疑 DDD 是否真的适合中小型应用程序。
感谢任何帮助/建议。
【问题讨论】:
标签: asp.net-mvc domain-driven-design viewmodel