码迷,mamicode.com
首页 > 其他好文 > 详细

【我的设计模式】备忘录模式

时间:2014-05-14 11:37:32      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:class   c   strong   a   数据   使用   

备忘录模式(Memento Pattern)又叫做快照模式(Snapshot Pattern)或Token模式,属于行为模式。

定义(源于GoF《设计模式》):在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。

应用场景

以保存游戏进度为例,在游戏角色大战Boss前将该角色的状态存储,与Boss作战后角色的各项能力会下降,如果没有通关,则可利用备忘录进行恢复到战前状态。

涉及角色
1.Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻自身的内部状态,并可使用备忘录恢复内部状态。Originator可以根据需要决定Memento存储自己的哪些内部状态。
2.Memento(备忘录):负责存储Originator对象的内部状态,并可以防止Originator以外的其他对象访问备忘录。备忘录有两个接口:Caretaker只能看到备忘录的窄接口,他只能将备忘录传递给其他对象。Originator却可看到备忘录的宽接口,允许它访问返回到先前状态所需要的所有数据。
3.Caretaker(管理者):负责备忘录Memento,不能对Memento的内容进行访问或者操作。

【我的设计模式】备忘录模式,布布扣,bubuko.com

【我的设计模式】备忘录模式

标签:class   c   strong   a   数据   使用   

原文地址:http://www.cnblogs.com/binyue/p/3726842.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!