【发布时间】:2011-10-10 12:37:11
【问题描述】:
我正在寻找一些关于在移动设备之间传输数据的最佳实践概念(目前是 Android,但概念几乎也适用于其他设备)。我目前有一个 WCF 服务设置了一个有效的 JSON 端点。我开始使用适当的 WebGet/Invokes 等修改现有的服务方法,以使其成为 RESTful。该服务实现了请求/响应模式,因此客户端和服务之间的所有通信都包装在一个复杂的 MessageRequest 和 MessageResponse 对象中。
让移动应用程序成功利用这种模式的最佳方式是什么?我只能想出两个解决方案,每个都有自己的优缺点:
- 在客户端项目中创建所有数据传输对象,然后创建一个 JSON/DTO 映射器(GSON 在这里可能工作得很好)。使用客户端对象来处理所有客户端数据管理,直到需要服务器请求,转到 DTO-to-JSON,并将请求发送到服务器。让我印象深刻的好处是它使客户端数据管理更容易,因为它与服务域平行。不利的一面是,如果对象变得越复杂,它们就有可能分解。
- 忽略 DTO 客户端,直接从 JSON 执行所有操作。这里的好处是它消除了与较大对象和所需映射相关的开销。这里的缺点是这让我觉得它非常脆弱 - 对返回对象的任何更改都需要在代码中深入处理,而不仅仅是对客户端 DTO 和映射器进行更改。
有没有更好的方法来完成这种数据交换?或者这些是处理它的唯一真正方法吗?您如何管理移动应用程序中的数据传输?
【问题讨论】: