【发布时间】:2014-04-16 14:23:56
【问题描述】:
我的 MVC 的控制器动作越来越大。我想创建一个服务层,以便我可以在那里移动代码。这个想法是使用 SOLID 原则:控制器使用服务层来获取域模型,然后将其转换为视图模型。
我的问题很简单:我的服务层应该是与我的 MVC 项目一起使用的新程序集(项目),还是应该只是我现有程序集(MVC 项目)中的一个类?
我的方法将类似于以下方法,但不幸的是,该帖子没有准确解释服务层是如何定义的: http://weblogs.asp.net/gunnarpeipman/archive/2011/06/20/asp-net-mvc-moving-code-from-controller-action-to-service-layer.aspx
【问题讨论】:
-
这是一个见仁见智的问题,所以你可能会在programmers.stackexchange.com得到更好的答案
-
@RGraham 关于论坛是正确的,但我会说它应该在一个单独的程序集中。现在,您可能只有一个 UI,但是假设您想要移动,如果该服务层与 MVC 组装在一起,您将无法重用该服务层。将其分开还有其他优点
-
感谢@RGraham 和 ken4z。那么,如果我选择创建一个新的程序集,它应该是一个库类吗?
标签: c# asp.net asp.net-mvc architecture asp.net-mvc-5