model-view-controller - 将 RESTful API 端点概念化为 MVC 设计模式中的 View

标签 model-view-controller api design-patterns rest

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

4年前关闭。




Improve this question




当我试图描述我在研究论文中构建的系统时,在尝试表示我创建的系统的复杂性时遇到了以下符号问题:

  • 假设我设计了服务 A,仅通过其 RESTful 端点与世界进行通信。然后,我设计了服务 B,它使用服务 A 作为其 Backbone 并向外部世界展示其数据。
  • 假设服务 A 有自己的模型和数据 Controller 。那么 RESTful 端点是否应该被概念化为 MVC 模式中的 View ?
  • 假设服务 B 有自己的一组代理模型,这些模型或多或少直接映射了服务 A 的模型。它为用户提供了一组 GUI View ,以及一组完全独立的 Controller 。 MVC 中的服务 A 在哪里?它应该表示为封装模型吗?

  • 现实世界的例子(与我正在处理的问题无关)是:
  • del.icio.us 和 pinboard.in 提供大致相似的 API 集,因此可以作为服务 A 交换给服务客户端(出于问题的目的,假设它们都构建在 MVC 模式上,但可能具有完全不同的一组型号和 Controller )
  • Delibar 是一个 iOS 应用程序,因此遵循 MVC 模式并匹配服务 B 的要求;假设 Delibar 按照 API 端点中表示的服务 A 的数据模型对其数据进行建模。

  • 因此 pinboard.in 和 del.icio.us 是 Delibar 的模型吗? RESTful 端点是 View 吗?因此 pinboard.in 和 del.icio.us 的 View 集是否相同?

    最佳答案

    端点是 Controller 上的 Action /操作。 View 是 Controller 响应 HTTP GET 请求返回的数据(HTML、XML、JSON 或其他)。

    服务 A 不表示为服务 B 的 MVC 三元组的一部分,因为 MVC 处理与模型的交互和 Controller 对 View 的选择。通过服务 B 的数据访问层访问服务 A。如果您使用“事件记录”模式,那么服务 B 中的 Controller 对模型的查询或更改将通过模型本身传递到数据访问层.如果您使用域服务/数据映射器/存储库模式, Controller 将调用封装数据访问的这一层。

    关于model-view-controller - 将 RESTful API 端点概念化为 MVC 设计模式中的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6045791/

    相关文章:

    ios - 调用 Web 服务方法是 MVC 模式中模型或 Controller 的一部分

    java - 如何在spring mvc中使 session 失效以实现注销

    java - 保护私有(private)内部 Web API 免受公共(public)访问的机制

    iphone - Cocoa/Iphone 开发 - 目标/操作机制

    c++ - 通过传递不同的参数创建对象

    asp.net-core - 如何使用 ASP.NET Core API Controller 返回 View

    javascript - JavaScript 中的被动 View

    c# - 使用 .NET Framework 3.5 在 C# 中调用 Web API

    Android - Google Drive API 实现错误

    java - JAXB 与构建器模式一起。那可能吗?