【发布时间】:2011-10-18 00:34:09
【问题描述】:
我有复合对象,即其他对象的复合。两个客户在两个单独的副本中更改了对象内部,我想合并这些更改,这样做的最佳方法是什么,是否有支持这种操作的框架?
谢谢,奥哈德。
【问题讨论】:
-
两个客户是什么意思?这是一个分布式应用程序吗?这些对象可能位于不同用户的不同机器上?
-
不,它们最终都在同一个jvm中。客户端使用 tcp 来“告诉”他们想要更改的内容。
-
如果它始终是同一个 JVM,那么您可以为该对象创建一个单例吗?这样你总是只更新那个对象。此外,如果这些对象代表一些真实世界的实体,比如用户,那么您可以创建缓存对象的哈希图,您将在其中执行合并操作!
-
singelton 不会帮助我,因为如果对象被某人更改,我想合并另一个人的更改并允许解决冲突。我需要一种找到冲突的方法。第二个建议我不明白,虽然我的对象不是现实世界的实体。
-
类似于单身人士。假设用户 U1 创建了 C 类的对象 O1。现在用户 U2 想要创建 C 类的对象 O2,其中 O1.equales(O2) 然后您只需返回缓存的 O1,而不是创建对象 O2。但我认为这可能对你没有用。