这篇文章类似于MVC/MVP/MVPC,你在哪里提出你的业务逻辑?,但我正在寻找更多细节.我已经购买了模型作为绝大多数业务逻辑应该驻留的地方.但是,据我所知,模型内部有很多内容:应用程序状态管理,数据持久性,存储库,数据传输对象以及可能的其他内容.
我有一个具有超级复杂业务规则的应用程序.当用户尝试在视图中执行某个特定操作时,大约有20个不同的规则必须验证是否应该允许该操作,或者是否必须提示用户提供其他信息.我想按照每个方法编写这些业务规则,以便支持可测试性和文档.这些规则应该在存储库类中吗?也许在存储库上方的服务层?这里最好的做法是什么,记住我正在使用像Linq到SQL,EF或nHibernate的ORM解决方案?
Bet*_*eth -2
如果它们是业务规则,我会将它们放入数据库表中,以便轻松更改。
那么代码本身对于业务规则来说是愚蠢的,并且不关心规则的内容,只关心规则容器的结构。
关于您下面的评论,如果您出于其他原因需要将您的方法限制为以代码为中心的方法,那很好,它只会使开发项目的成本显着提高。
规则越复杂,表驱动而不是硬编码的好处就越大。如果您不习惯,那么困难的部分可能是为规则建立一个模型。模型建立后,开发就很简单了。
| 归档时间: |
|
| 查看次数: |
2747 次 |
| 最近记录: |