我正在为民用工程应用程序编写结构建模工具。我有一个代表整个建筑物的巨大模型类,其中包括节点,线元素,荷载等的集合,它们也是自定义类。
我已经编码了一个撤消引擎,该引擎在对模型进行每次修改后都保存了一个深拷贝。现在,我开始考虑是否可以使用其他代码进行编码。除了保存深层副本之外,我还可以保存每个修改器动作的列表以及相应的反向修改器。这样我就可以将反向修改器应用于当前模型以撤消,或将修改器应用于重做。
我可以想象您将如何执行更改对象属性等的简单命令。但是复杂命令呢?就像将新的节点对象插入模型并添加一些线对象以保留对新节点的引用一样。
如何实施呢?
MMTTMM
慕无忌1623718
牛魔王的故事