MVC Repository模式正确的业务逻辑位置

时间:2013-12-22 13:57:51

标签: asp.net-mvc-4 repository-pattern unit-of-work

我正在使用MVC4,EF5,存储库模式和Unity IoC。 应该在哪里放置逻辑代码块?

  • 在特定模型的存储库中
  • 控制器
  • 还是通过扩展模型的部分类?作为静态函数?

在我的应用程序中,每个控制器都拥有一个工作单元的实例。如果逻辑将保存在其中一个存储库内或部分类内,则需要将工作单元作为参数发送。您最佳做法是什么?

谢谢:)

1 个答案:

答案 0 :(得分:0)

正如GraemeMiller强调的那样,控制器应该没有业务逻辑。我认为存储库在业务逻辑方面也应该相当轻松。 Dino Esposito建议使用与GraemeMiller类似的模式,因为控制器将视图模型移交给使用各种其他类来完成其工作的某种协调器,生成修改后的视图模型或根据需要重定向到另一个控制器。您的协调员可能依赖于工作单元,也可能自己建立一个工作单元。我赞成前者。