0

我正在探索 ASP.Net web Api,我正在尝试使用创建一个网页来基本上提供选项来编辑和显示来自 DB(MySQL)的一些数据并进行一些修改。我还想提供一个可供移动应用程序使用的 REST Api。现在我可以使用 ApiController(提供 REST api)和渲染模型的 MVC 控制器(使用 View 方法)来执行此操作。这可行,但 API 和 MVC 控制器之间有很多重复。是否有设计模式或避免冗余的东西?

我知道 API 控制器必须返回 JSON,而 MVC 控制器必须返回视图的模型。

4

1 回答 1

1

您可以遵循两种通用路径来删除重复项。

  1. 使用 js 框架并依赖其余 API 处理所有数据。存在 Knockout、Breeze 和无数其他框架来支持这一点,因为这就是 SPA 的制作方式。你可能会迷失在所有框架中,所以当你找到你喜欢的框架时,学习它们并与它们一起运行。我在我最新的网络应用程序中使用了这个结构,带有敲除和 sammy(用于路由)

  2. 胖模型,瘦控制器。您实际处理的方式取决于数据的复杂性。MVC 可以有多个层。您可以使用 API 的视图作为 MVC 控制器和视图中的模型。您可以提供一个处理查询并引用来自两个控制器的 DAL。无论哪种方式,重复都被删除。

于 2013-08-31T04:20:02.270 回答