Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
可能重复: 撤消引擎的设计模式
一般来说,您如何处理在您的应用程序中支持“撤消”功能?我曾开发过类似的 Web 应用程序和桌面应用程序,但我从未真正对自己制作的任何“撤消”系统感到满意。
我相信它应该是命令设计模式。
这是有关使用命令模式的多级撤消/重做的文章。
编辑:这是关于多级撤消/重做与备忘录模式的第二个。
所以可能两者都可以完成。
查看备忘录模式
我会投票支持命令模式而不是 Memento。Memento 模式会比 Undo/Redo 功能的命令模式更昂贵。
与仅对任何兼容对象执行或撤消操作相比,捕获和恢复对象状态将是一件相当昂贵的事情。