23

可能重复:
撤消引擎的设计模式

一般来说,您如何处理在您的应用程序中支持“撤消”功能?我曾开发过类似的 Web 应用程序和桌面应用程序,但我从未真正对自己制作的任何“撤消”系统感到满意。

4

3 回答 3

36

我相信它应该是命令设计模式。

这是有关使用命令模式的多级撤消/重做的文章。

编辑:这是关于多级撤消/重做与备忘录模式的第二个。

所以可能两者都可以完成。

于 2010-08-10T12:36:45.293 回答
10

查看备忘录模式

于 2010-08-10T12:37:33.363 回答
9

我会投票支持命令模式而不是 Memento。Memento 模式会比 Undo/Redo 功能的命令模式更昂贵。

与仅对任何兼容对象执行或撤消操作相比,捕获和恢复对象状态将是一件相当昂贵的事情。

于 2010-08-10T12:45:13.477 回答