Clojure:操纵场景图的函数方法 上下文
我正在处理一个大型嵌套结构化文档,它在屏幕上显示为场景图。用户需要能够修改这个文档——我目前正在使用功能性拉链来实现它 现在,在每次更改后,我都会重新绘制整个文档。但是,当使用场景图时,我只需要修改更改的部分 然而(我并不打算发动一场火焰战),我越来越觉得这个问题从根本上讲是一个关于国家的问题,而不是功能的问题。特别是:Clojure:操纵场景图的函数方法 上下文,clojure,Clojure,我正在处理一个大型嵌套结构化文档,它在屏幕上显示为场景图。用户需要能够修改这个文档——我目前正在使用功能性拉链来实现它 现在,在每次更改后,我都会重新绘制整个文档。但是,当使用场景图时,我只需要修改更改的部分 然而(我并不打算发动一场火焰战),我越来越觉得这个问题从根本上讲是一个关于国家的问题,而不是功能的问题。特别是: 用户操作(上、下、左、右、插入字符、删除字符)是关于操作状态,而不是进行计算 文档一次只有一个副本,它只被一个线程命中,共享没有好处 当前方法 我使用功能拉链来存储文档并提
- 用户操作(上、下、左、右、插入字符、删除字符)是关于操作状态,而不是进行计算
- 文档一次只有一个副本,它只被一个线程命中,共享没有好处
* my code is around 5K LOC
* it's not for me to share publicly
然而,这是一个真正的技术解决方案,我希望其他人能够分享他们的答案
谢谢 你的基本过程听起来不错。它的当前形式是灵活的,因为您可以选择让一个单独的线程更新树,例如,您可以实现一个“undo”按钮。如果每次修改后都返回新树和更改零件的路径,则只能更新显示中更改的零件。很多人在区分“模型”和“观点”方面比我有更强烈的观点,尽管我怀疑至少他们的一些智慧适用于这里 你的用户号是prime!令人惊叹的!