【问题标题】:MVC and Android as front-ends WebApi as backendMVC 和 Android 作为前端 WebApi 作为后端
【发布时间】:2016-01-24 04:12:05
【问题描述】:

我将使用两个不同的前端构建一个应用程序。 第一个是我打算用MVC5构建的网站,第二个是Android平台。

问题: 实现这一目标的最佳做法是什么?

我应该让 WebApi 负责处理我的应用程序的较低层并通过 Android 和 HttpClient(用于 MVC)调用它,还是只使用 MVC 制作我的网站并找到需要由 Android 调用的特定 API之后的平台?

我觉得在另一个外观(WebAPI 控制器)之上有一个外观(MVC 控制器)有些不对劲,同时我无法为这类软件找到更好的架构。

【问题讨论】:

  • 让 mvc 应用程序调用 api 没有任何问题,但是您可能不会使用整个框架,因此可能只是使用 mvc 处理路由,其余部分逻辑发生在使用 ajax 调用 webapi 的 javascript 中。然后,您的 webapi 将拥有网站和 Android 应用程序所需的所有业务逻辑(和数据层)。
  • 我在当前的项目中使用相同的架构,一切都很顺利,但是当您进行用户身份验证和授权时,这将是艰难的一面,在线帮助非常少。我找到了这个博客:wesleycabus.be/2014/06/…

标签: asp.net-mvc asp.net-web-api architecture


【解决方案1】:

如果一开始,您将功能与 MVC 或 WebAPI 控制器代码分开的类保留,您可以在两者之间共享它。将您的应用程序/业务逻辑放在一个单独的 csproj 中会更干净,然后从您的 MVC 和 WebAPI 中引用。这也将更容易测试该代码。

然后,您可以选择先开发您的应用 MVC,与用户一起测试并获得反馈(无需花时间在 API 等上),然后为 Android 构建您的 API(使用相同的应用程序代码)。您也可能最终都在 API 之上运行,这可以说是一个更好的长期维护和安全性的地方。这种渐进式方法有助于避免过度设计软件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    • 2021-10-25
    • 2016-11-15
    • 2018-05-04
    • 2022-06-19
    • 2022-10-17
    相关资源
    最近更新 更多