感想
备忘录模式:在不破坏封装的前提下,存储构建对象的重要状态,从而可以在将来把对象还原到存储的那个状态。
备忘录模式的优点:
- 状态存储在外面,不和关键对象混在一起,者可以帮助维护内聚。
- 提供容易实现的恢复能力。
- 保持了关键对象的数据封装。
备忘录模式的缺点:
- 资源消耗上面备忘录对象会很昂贵。
- 存储和恢复状态的过程比较耗时。
以下例子以游戏进度保持的角度来设计:
a定义一个安全保护的接口:
1 | public interface MementoIF { |
b1.定义游戏中一个游戏模式一的进度:
1 | import java.util.HashMap; |
b2.定义游戏中一个游戏模式二的进度:
1 | import java.util.ArrayList; |
c.创建一个进度管理者:
1 | import java.util.HashMap; |
d.客户端使用:
1 | public class MainTest { |