【发布时间】:2014-02-05 22:45:21
【问题描述】:
我有一个关于解决问题的最佳实践或模式的一般性问题。
假设您在不同的 JVM 上运行了三个程序:Server、Client1 和 Client2。
所有三个进程都对对象进行更改。当任一客户端中的对象发生更改时,必须将对象(不是新对象)中的更改发送到服务器。仅仅将新对象从客户端发送到服务器是不可能的,因为两个客户端可能同时更新对象,所以我们需要增量,而不是结果。
此时我并不担心将服务器上的更改反映给客户端,但让我们考虑一下这是一个额外的问题。
使用 X 数量的进程和 Y 数量的可能更改的对象类来实现这一点的最佳实践是什么?
我能想到的最好的方法是始终使用命令模式来同时更改客户端和服务器上的对象,但必须有更好的方法吗?
【问题讨论】:
-
可用于此类问题的观察者设计模式
-
是否可以通过网络使用观察者模式?通常我会看到观察者模式用于通知更改,而不是具体更改了什么?
-
演员模型浮现在脑海,因为它已经是基于消息的。因此,将消息复制到其他服务器应该很容易。看看 Akka。
标签: java design-patterns