您可以将操作建模为命令,并保存在两个堆栈中。一个用于撤消,另一个用于重做。您可以编写命令来创建更多高级命令,例如,当您要撤消宏操作时;或者如果您想在一个动作中将单个单词或短语的各个按键组合在一起。
编辑器中的每个操作(或重做操作)都会生成一个新的撤消命令,该命令将进入撤消堆栈(并清除重做堆栈)。每个撤消操作都会生成进入重做堆栈的相应重做命令。
如derekerdmann的评论中所述,您还可以将撤消和重做命令组合为一种类型的命令,该命令知道如何撤消和重做其动作。

您可以将操作建模为命令,并保存在两个堆栈中。一个用于撤消,另一个用于重做。您可以编写命令来创建更多高级命令,例如,当您要撤消宏操作时;或者如果您想在一个动作中将单个单词或短语的各个按键组合在一起。
编辑器中的每个操作(或重做操作)都会生成一个新的撤消命令,该命令将进入撤消堆栈(并清除重做堆栈)。每个撤消操作都会生成进入重做堆栈的相应重做命令。
如derekerdmann的评论中所述,您还可以将撤消和重做命令组合为一种类型的命令,该命令知道如何撤消和重做其动作。