备忘录模式

命令模式 那篇文章中,我们通过记录每个操作的详细信息(插入位置、删除内容等)来实现撤销。每个命令知道如何反转自己:插入的逆操作是删除,删除的逆操作是插入。

这种方式在操作简单时没问题,但如果对象的状态很复杂、操作之间有依赖关系,逐个反转就变得非常困难。

备忘录模式(Memento Pattern)换了一个思路:不记录「做了什么」,而是直接保存对象在某个时刻的完整状态快照。需要恢复时,把快照还原回去就行。就像游戏存档一样,你不需要知道玩家做了哪些操作,只需要把存档读回来,游戏状态就恢复了。