一、概念
提供一种数据的恢复机制。
1.1、定义
4B34FA62-6749-4E6D-840B-493F604F33C0.png- Originator,发起人:提供备忘录的原始类。
- Memento,备忘录:需要存储的对象数据类。
- Caretaker,管理者:对备忘录进行管理,内部保证数据正确性,保存和读取备忘录。
1.2、解决的问题
- 问题分析:需要保存某一对象的一个或者多种状态,进行数据持久化;在适当需要的时候(如用户后悔),将对象恢复到原先保存的状态。
- 模式解决思路:模式将需要恢复的数据统一到Memento备忘录类中,然后提供专门的Caretaker管理类。
二、模式的应用和优缺点
2.1、应用场景
- 实例:打游戏时的存档、ctri + z的恢复功能、浏览器的网页后退功能、数据库的事务管理机制。
- 实例:移动端的免登陆功能。
2.2、优缺点
- 优点:提供一种简单的恢复数据的机制;将需要恢复的数据进行封装,外部无法访问。
- 缺点:会消耗一定的资源。应用的场景单一,专门用于数据恢复场景。
网友评论