16

通常,当我为项目布局 n 层架构时,我有以下几层:

  • (域模型,存储库合同)
  • 数据(在域模型之上工作的存储库)
  • 服务(聚合存储库、缓存、验证)
  • 演示文稿(mvc 应用程序)

考虑到实际应用程序和外部客户端将使用 ASP.NET MVC 4 Web API,它在哪里适合?它是服务层的一部分,还是使用服务层并与 MVC 应用程序处于同一级别?

4

2 回答 2

10

可能有两种方法:

  1. 您决定通过 HTTP 调用从 MVC 应用程序使用您的 Web API。在这种情况下,调用代码 ( HttpClient) 位于您的数据层中。无论您是从数据库还是远程 Web 服务调用中获取数据,这都无关紧要。在这种情况下,由于 Web API 可能已经封装了大部分业务逻辑,因此您的服务层将非常薄,只是数据访问层的包装,如果不带来任何附加价值,甚至不存在。

  2. 由于 Web API 是用 .NET 编写的,因此您可以决定在 MVC 应用程序中直接引用包含此 API 服务层的程序集。在这种情况下,您的 Web API 应用程序的服务层将成为您的 MVC 应用程序的服务层。

于 2012-07-12T05:59:17.253 回答
1

有两种可能

  • 中间层或中间件:这是 Web 服务和 WCF 服务通常工作的地方。使用 REST 比 SOAP 轻得多,所以这是事实上的用例。Web 和 WCF 服务在客户端生成方面更好,但 Web API 将逐渐赶上。
  • 表示层:这将为单页应用程序或任何使用数据并在客户端呈现的现代网站/应用程序提供数据。
于 2012-07-12T15:03:31.353 回答