1
2
这实际上取决于商业案例。 当两个用户使用系统时。两者都在从列表中添加和删除项目。 当用户A删除和项时,您希望他看到用户B的cheges,还是需要用户A按refresh来查看这些更改? 询问用户希望它如何工作,然后选择通过网络传输最少数据量的方法。 |
2
4
为了拥有真正面向服务的体系结构,服务应该是异步的,所以它们不应该返回任何结果。 对于一个删除操作,这是非常简单的实现:只需激发并忘记。 Udi Dahan's blog 是了解真正服务导向的好地方。 如果您希望使用您的问题所暗示的rpc消息交换模式,我仍然认为该方法应该返回 无效 . 如果从同步HTTP发帖中得到一个空答案,这意味着成功——否则,您将得到一个SOAP错误或其他错误结果。 |
3
2
我将使用选项A。如果您的服务能够正确地指示删除的成功或失败,那么为什么还要重新加载所有对象呢?当然,除非您还希望立即显示其他用户删除的内容,在这种情况下,B是更好的选择。您还可以选择通过定期轮询/通知方法(与删除操作分开)显示其他用户的删除操作。它实际上取决于应用程序的需求。 |
4
1
它不仅取决于业务案例,如 this answer 它还取决于您在代码设计中的风险承受能力。随着应用程序的增长和复杂性的增加,客户机和服务之间的紧密耦合会使代码更难更改。相反,职责和松耦合的清晰分离通常会增加可维护性和总体项目敏捷性。 在这种情况下,这可能意味着服务不知道客户机的存在及其实现,因此排除了直接操纵客户机列表的服务。如果将此服务作为类库实现,我建议使用发布者/订阅者方法,其中服务公开包含相关删除信息的类型的C事件,并且客户机处理该事件并相应地更新其列表。 如果这是一个Web(单向)服务,我希望删除服务调用独立于getall服务调用。客户机将使用这些调用的组合手动管理它的列表。 |
user755806 · 从Rest服务返回JSON响应? 6 年前 |