【发布时间】:2012-12-19 17:38:44
【问题描述】:
初始情况:
我想构建一个具有分层架构的 MVC3 应用程序。这些层将是持久性 层(存储库模式)、服务层和视图层。我还想将实体映射到 持久层,并将这些 DTO 传递给视图。
在视图中,我想通过使用 MVC3 weapp 来应用 MVC 模式。现在我的问题是,我应该在哪个模块、控制器或模型中访问(引用)服务层。 我总是在控制器中看到对服务层的引用,如下所示:
public class CustomerController
{
public ViewResult Details( int id )
{
CustomerDTO customerDto = MyService.GetCustomerById();
return View( customerDto );
}
}
我不应该访问模型模块中的服务层吗?如果我在控制器中访问我的服务层,我根本不需要模型模块...?
【问题讨论】:
-
如果已经有了服务层,还需要模型层吗?如果服务以您需要的确切格式返回它,则无需添加额外代码。在这种情况下,您的服务层就是您的模型。
-
好的,在我看来我不需要模型层,因为我有一个单独的服务层。但相反,我会为每个视图创建 ViewModel。
标签: c# asp.net-mvc-3 model-view-controller design-patterns