ASP.NET MVC 2放置逻辑的位置

Jim*_*mmy 4 3-tier asp.net-mvc-2

我有一个带有一些复杂业务规则的ASP.NET MVC 2应用程序,我试图确定将特定逻辑放在哪里。

创建记录时会发生逻辑,根据该记录的某些字段,需要创建其他记录。

我当前正在将存储库模式与ORM一起使用,最容易放置此逻辑的位置将在我的存储库类中,但是我觉得这是一个非常重要的位置,具有重要的规则,我将其直接放置在我的部分模型类中具有我的验证和元数据,但随后我必须在控制器或存储库中调用方法,这可能会将太多有关实现的知识扩展到这些层。

您对我有哪些最佳实践提示?

谢谢!

Dar*_*rov 5

您可以在控制器和存储库之间有一个服务层。该存储库对您的模型执行简单的CRUD操作。服务方法可以利用多个简单的存储库调用来组成业务操作。该业务操作将向控制器公开。