【发布时间】:2011-05-18 13:48:14
【问题描述】:
当我试图描述我在研究论文中构建的系统时,在尝试表示我创建的系统的复杂性时遇到了以下符号问题:
- 假设我设计了服务 A,仅通过其 RESTful 端点与世界通信。然后,我设计了 service B,它使用 service A 作为其主干,并将其数据呈现给外部世界。
- 假设 服务 A 有自己的模型和数据控制器。那么是否应该将 RESTful 端点概念化为 MVC 模式中的视图?
- 假设 服务 B 有自己的代理模型集,这些代理模型或多或少直接映射 服务 A 的模型。它为用户提供了一组 GUI 视图,带有一组完全独立的控制器。服务 A 在 MVC 中的什么地方出现?是否应该将其表示为封装模型?
现实世界的例子(与我正在处理的问题无关)是:
- del.icio.us 和 pinboard.in 提供大致相似的 API 集,因此可以作为服务客户端的 service A 交换(出于问题的目的,假设它们都是基于MVC 模式,但可能有完全不同的模型和控制器集)
- Delibar 是一款 iOS 应用,因此遵循 MVC 架构并符合 服务 B 的要求;假设 Delibar 在 API 端点中表示的 服务 A 的数据模型之后对其数据进行建模。
因此 pinboard.in 和 del.icio.us 是 Delibar 的模型吗? RESTful 端点是视图吗?那么 pinboard.in 和 del.icio.us 的视图集是否相同?
【问题讨论】:
标签: model-view-controller api design-patterns rest