当用户访问该站点时,会在客户端和服务器端创建一个空的购物车。当他将产品添加到 SC 中时,会执行 RPC 调用以在服务器端添加产品。我们需要做同样的客户端来同步和更新 UI。如果我们不这样做并切换到引用旧 SC 的视图。UI 不会相应更新(SC 为空,而其中只有一个产品)。
解决方案 1
RPC 调用返回更新后的 SC 并执行clientSC = returnedSC
. 它不是很有效,因为要通过网络传输大量数据。
解决方案 2
RPC 调用返回添加的产品,并在客户端调用addProduct
将产品添加到列表而不是将其存储在数据存储中的方法(如在服务器端)。
解决方案 3
与解决方案 2 相同,但使用事件通知引用了 SC 的演示者(我使用 MVP 模式)。
哪一个是最好的,更一般地说,保持客户端和服务器模型同步的最佳实践是什么?