1
1
为了澄清一些误解: a) NHib有 不 access strategies 您可以轻松地映射到字段。如果您喜欢使用属性或字段以外的内容,还可以定义自己的自定义策略。 b) 如果您映射到属性,那么getter和setter就映射到属性 不 需要公开。它们可以受到保护,甚至是保密的。 话虽如此,我完全同意当您从数据库检索实体时,域对象验证是没有意义的。因此,我将使用在用户尝试更新实体时验证数据的服务。 |
2
0
我目前的项目和你的完全一样。前端使用MVC,持久性使用NHibernate。目前,我的验证位于服务层(您的选项2)。但是,当我在编写代码时,我感觉我的代码并不像我希望的那样干净。例如
这让我觉得EntityService是一个“上帝类”。它太了解实体类了,我不喜欢它。对我来说,让实体类来担心自己感觉好多了。但我也理解您对NHibernate性能问题的关注。因此,我的建议是在Setters中实现验证逻辑,并使用字段进行NHibernate映射。 |
Haim Ohayon · 这些链接之间有什么区别? 2 年前 |