标签: design-patterns undo
可能重复: Design Pattern for Undo Engine
一般来说,您如何处理在应用程序中支持“撤消”功能?我一直在研究网络应用程序和桌面应用程序,我从来没有真正对我所做的任何“撤消”系统感到满意。
答案 0 :(得分:24)
我认为它应该是Command设计模式。
以下是article关于使用命令模式的多级撤消/重做。
编辑:这是关于多级撤消/重做Memento模式的second。
所以可能两者都可以完成。
答案 1 :(得分:7)
查看Memento Pattern
答案 2 :(得分:6)
我在Memento上投票赞成命令模式。 Memento模式比撤销/重做功能的命令模式要昂贵得多。
捕获和恢复对象状态 将是一个相当昂贵的事情 与刚做或撤消相比 对任何兼容对象的操作。