【发布时间】:2009-08-17 19:33:27
【问题描述】:
这篇文章类似于in MVC/MVP/MVPC where do you put your business logic?,但我正在寻找更多细节。我已经将模型作为绝大多数业务逻辑应该驻留的地方。然而,据我所知,模型内部有很多东西:应用程序状态管理、数据持久性、存储库、数据传输对象,可能还有其他东西。
我有一个具有超级复杂业务规则的应用程序。当用户尝试在视图中执行某个特定操作时,大约有 20 条不同的规则必须验证是否应允许该操作,或者是否必须提示用户提供其他信息。我想为每个方法编写这些业务规则,以支持可测试性和文档。这些规则应该在存储库类中吗?也许在存储库上方的服务层中?请记住,我使用的是诸如 Linq to SQL、EF 或 nHibernate 之类的 ORM 解决方案,这里的最佳做法是什么?
【问题讨论】:
标签: .net architecture