谁负责解析?控制器或服务层?

时间:2011-07-11 08:47:41

标签: asp.net-mvc model-view-controller architecture service-layer

我目前正在开发的项目有一个Core API,所有内容都使用它:服务,网络......

此API包含以下图层:

  • 核心
  • Core.Models
  • Core.DataProviders
  • Core.DataProviders.LinqToSql
  • Core.Utils

这个API的顶部是我的ASP.NET MVC应用程序。这看起来像这样:

  • 网络
  • Web.Models(一些Web特定对象和逻辑。例如,一个构建一个季度列表的类,以帮助我在调度表中呈现一天。)
  • Web.Extensions(Html Helpers,Controller base ..)
  • Web.ViewModels(要传递给View的复合对象。)
  • Web.Services(与Core和Web.Models通信的层。此层为我的控制器构建ViewModels。帮助保持控制器清洁。)

此设置有任何严重缺陷吗?

一个更具体的问题:我需要解析一些来自我的视图的内容,然后才能将它们传递给Core。我应该在Controller或服务层中处理这个吗?

1 个答案:

答案 0 :(得分:1)

一般来说,从视图提交的数据应该由ModelBinder解析,如果使用ModelBinder似乎没有意义,则回退到Controller。

如果多个源可以以相同的格式(如Web服务或文件系统持久性)提交数据,则解析应用程序服务是有意义的。