编辑器的模式(1)—undo/redo
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编辑器的模式(1)—undo/redo相关的知识,希望对你有一定的参考价值。
参考技术A"我不能预见每个人的未来,我只能预见我自己的,而且只能预见两分钟"——尼古拉斯.凯奇《惊魂下一秒》2007
无论人写字,画画一样,我们常常有笔误不可避免,
回到过去的某个修改点,做出不同的修改,并继续,
在程序设计的概念里,这常常指版本管理,版本管理保存了每一次(所有)修改的历史,不同时间线,还有合并
而编辑器的,undo/redo, 则有几点简化,
这像是《惊魂下一秒》里的故事,修正有限历史,并让下一秒冲刷掉未来。
undo/redo模式,即为,维护一定长度的修改点队列,并在所有历史修改点里,进行版本切换.
以下我实现了一个简单的undo/redo,版本管理,
可以看到,这样简单的undo/redo已经足够工作。
实现更精巧的 redo/undo功能,你需要考虑以下问题:
而现实中,对于有些编辑器的实现来说,效率并不是一个严重的问题,简单则是更为重要的。
以上是关于编辑器的模式(1)—undo/redo的主要内容,如果未能解决你的问题,请参考以下文章