备忘录模式
标签(空格分隔): 设计模式
简介
行为型模式。保存一个对象的状态,以便在某个时刻恢复对象。
打boss前存档,下象棋悔棋,编辑文档时使用Ctrl+z撤销等场景都是备忘录模式的应用。
优点:可以回滚。缺点:资源消耗严重。
具体实现
写一个存储对象状态的类(类似于备忘),然后在另一个类中维护一个备忘类的List,这个类类似于备忘录。当需要保存状态时,把一个备忘对象add进备忘录类里即可。
备忘录模式的结构
发起人:记录当前时刻的内部状态,负责定义哪些属于备份范围的状态,负责创建和恢复备忘录数据。
备忘录:负责存储发起人对象的内部状态,在需要的时候提供发起人需要的内部状态。
管理角色:对备忘录进行管理,保存和提供备忘录。
注意
当需要记录多个状态时,使用Map容器来存储一条备忘,然后备忘录管理类中的List就存储这些Map的集合即可。