思考并回答以下问题:
- 备忘录模式的官方定义是什么?
- 备忘录属于哪种设计模式?为什么?
- 动手画备忘录模式的类图。
- 直接将数据存盘功能实现于游戏功能类中违反了单一职责原则怎么理解?
- 对外公开成员数据是有风险的。类应该尽量减少对外显示内部的数据结构,以减少客户端有机会破坏内部成员的记录,而对外公布过多的操作方法,也容易增加与其他系统的耦合度(即依赖度)。怎么理解?
- 定义中的“不破坏原有类封装性”怎么理解?
- 获取一个对象的内部状态并保留在外部是什么意思?
- Originator、Memento和Caretaker都是什么意思?
- 没有Caretaker也可以实现备忘录模式怎么理解?那为什么要使用Caretaker呢?
- 备忘录模式如何搭配命令模式?