标签:大致 玩游戏 模板方法 创建 破坏 存储 this 进入 系统
一种行为模式,用于保存对象的状态,并且在之后可以恢复到这种状态。备忘录模式的实现方式,需要保证被保存的对象的状态不能被对象从外部访问,目的是为了保护好这些被保存对象状态的完整性以及内部实现不向外部暴露。
需要保存某个对象在某一时刻的状态或者部分状态
如果通过一个接口来让其他对象得到状态,将会暴露对象的实现的细节并破坏对象的封装性,一个对象不希望外部直接访问其内部状态,通过中间对象可以间接的访问其内部的状态。
- Originator
- Memoto
- CarreTaker
Originator 负责创建一个备忘录,可以记录恢复自身内部的状态。同时还可以根据需要,决定在Memoto中存储自身的那些状态。
Memoto 备忘录类,用于存储Originator内部的状态
CarreTaker 负责管理存储备忘录类,只能将备忘录类交个其他类,不能访问备忘录类。
游戏的存档功能,将游戏的进度存储到本地文件系统或者数据库中,下次在进入时从本地加载进度,继续上一次的游戏。
备忘录类
1 | public class Memoto { |
备忘录管理类
1 | public class CareTaker { |
//游戏类
1 | public class Game { |
1 | public static void main(String[] args) { |
上述过程大致有以下四步:
- 开始游戏,闯关升级
- 游戏退出前存档
- 退出游戏
- 重新启动游戏,从存档中恢复游戏进度
通过Memoto满足了对象存储功能的同时,也避免了外接对Game状态的直接访问,保证了封装特性。
标签:大致 玩游戏 模板方法 创建 破坏 存储 this 进入 系统
原文地址:https://www.cnblogs.com/lijianming180/p/12325524.html