1

我目前正在从事的项目有一个核心 API,它被所有东西使用:服务、网络、...

该 API 有以下几层:

  • 核心模型
  • Core.DataProviders
  • Core.DataProviders.LinqToSql
  • 核心工具

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

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

这个设置有什么严重的缺陷吗?

一个更具体的问题:我需要先解析一些来自我的视图的东西,然后才能将它们传递给核心。我应该在 Controller 还是在 Service 层处理这个问题?

4

1 回答 1

2

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

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

于 2011-07-11T08:54:45.310 回答