“撤消”功能的最佳设计模式

时间:2010-08-10 12:35:08

标签: design-patterns undo

  

可能重复:
  Design Pattern for Undo Engine

一般来说,您如何处理在应用程序中支持“撤消”功能?我一直在研究网络应用程序和桌面应用程序,我从来没有真正对我所做的任何“撤消”系统感到满意。

3 个答案:

答案 0 :(得分:24)

我认为它应该是Command设计模式。

以下是article关于使用命令模式的多级撤消/重做。

编辑:这是关于多级撤消/重做Memento模式的second

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

答案 1 :(得分:7)

答案 2 :(得分:6)

我在Memento上投票赞成命令模式。 Memento模式比撤销/重做功能的命令模式要昂贵得多。

  

捕获和恢复对象状态   将是一个相当昂贵的事情   与刚做或撤消相比   对任何兼容对象的操作。