【发布时间】:2009-09-27 23:27:37
【问题描述】:
我正在编写一个使用 NHibernate 作为我的 ORM 的 ASP.NET MVC 应用程序。不过,我在设计上有点挣扎,希望得到一些意见。
所以,我的问题是我的业务/验证逻辑应该放在哪里(例如,电子邮件地址需要 @、密码 >= 8 个字符等...)?
所以,这是最有意义的:
- 将它放在域对象本身上,可能在属性设置器中?
- 在我的域层之上引入一个服务层,并为其中的每个域对象设置验证器?
- 维护两组域对象。一组用于 NHibernate,另一组用于业务逻辑(以及它们之间的某种适配层)。
我想我主要关心的是将所有验证放在 NHibernate 使用的域对象上。每次我将对象从数据库中拉出时,进行不必要的验证检查似乎效率低下。需要明确的是,我认为这是一个真正的问题,因为这个应用程序要求很高(想想某些表中的数百万行)。
更新: 我删除了一行包含有关 NHibernate 的错误信息。
【问题讨论】:
标签: asp.net asp.net-mvc nhibernate oop