Asp.net web api和mvc - 避免重复

时间:2013-08-31 03:55:37

标签: asp.net rest asp.net-mvc-4

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

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

1 个答案:

答案 0 :(得分:1)

您可以使用两种常规路径来删除重复。

  1. 使用js框架并依赖其余API来处理所有数据。 Knockout,breeze和无数其他框架都可以支持这一点,因为它是SPA的制作方式。您可能会迷失在所有框架中,因此当您找到自己喜欢的框架时,请学习它们并与它们一起运行。我在我的最新网络应用程序中使用此结构,使用淘汰赛和sammy(用于路由)

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