ASP.NET MVC 2在哪里放逻辑

时间:2011-01-04 19:39:24

标签: asp.net-mvc-2 3-tier

我有一个ASP.NET MVC 2应用程序,其中包含一些复杂的业务规则,我正在尝试确定将特定逻辑放在何处。

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

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

对我来说,最佳做法是什么?

谢谢!

1 个答案:

答案 0 :(得分:4)

您可以在控制器和存储库之间建立服务层。存储库使用您的模型执行简单的CRUD操作。服务方法可以使用多个简单的存储库调用来组成业务操作。此业务操作将暴露给控制器。