加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 同步2复杂对象图状态的最佳方法是什么

发布时间:2020-12-15 01:11:28 所属栏目:Java 来源:网络整理
导读:我有一个复杂的对象图来表示操作调度. 有一次,我必须将整个图表序列化到Web UI(通过XML / JSON),以便用户使用基于Javascript的甘特图组件修改计划. 用户完成编辑后,Java /服务器层中的图形状态必须与修改后的状态同步. 我想问一下实现复杂对象图的状态同步的

我有一个复杂的对象图来表示操作调度.
有一次,我必须将整个图表序列化到Web UI(通过XML / JSON),以便用户使用基于Javascript的甘特图组件修改计划.
用户完成编辑后,Java /服务器层中的图形状态必须与修改后的状态同步.

我想问一下实现复杂对象图的状态同步的最佳策略,例如:应该如何表示状态的变化,以便模拟服务器端的变化?
其他人将如何实现这一点?

仅供参考,我目前的技术堆栈:JSF Richfaces,Seam 2.1,Hibernate 3.
但我相信这个问题的解决方案也可以用于其他技术堆栈.

最佳答案
我建议避免同步两个图,但将编辑操作记录为“删除节点/插入节点/替换节点”操作.将此操作发送到服务器并将其应用于原始图形.

这个想法源于重写AST(抽象语法树).在eclipse JDT you have an AST from your source.当应用重构(例如重命名方法)时,应该可以创建更改的预览.为此,重写事件(Delte / Insert / Replace)被记录并应用于AST的副本.从此生成预览.如果用户接受将事件应用于原始AST.

你的问题是这样的,你有两个对象图开始相同,应该以相同的方式修改.这应该更容易实现为同步操作,您只需在用户修改图形时记录事件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读