在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将对象恢复到原先保存的状态。备忘录模式的角色:
1. 原发器(Originator):负责创建一个备忘录,用以记录当前对象的内部状态,通过也可以使用它来利用备忘录回复内部状态。同时原发器还可以根据需要决定Memento存储Originator的那些内部状态。
2. 备忘录(Memento):用于存储Origi...
分类:
其他好文 时间:
2016-04-29 18:15:51
阅读次数:
195
11个行为模式之6(备忘录模式,观察者模式,状态模式,策略模式,模版模式,访问者模式)
备忘录模式
Sunny软件公司欲开发一款可以运行在Android平台的触摸式中国象棋软件,由于考虑到有些用户是“菜鸟”,经常不小心走错棋;还有些用户因为不习惯使用手指在手机屏幕上拖动棋子,常常出现操作失误,因此该中国象棋软件要提供“悔棋”功能,用户走错棋或操作失误后可恢复到前一个步骤,...
分类:
其他好文 时间:
2016-04-26 22:09:42
阅读次数:
368
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将对象恢复到原先保存的状态。备忘录模式的角色:
1. 原发器(Originator):负责创建一个备忘录,用以记录当前对象的内部状态,通过也可以使用它来利用备忘录回复内部状态。同时原发器还可以根据需要决定Memento存储Originator的那些内部状态。
2. 备忘录(Memento):用于存储Origi...
分类:
其他好文 时间:
2016-04-26 20:33:26
阅读次数:
194
其目的是,在不违反封装原则的前提下.采集和备份一个对象的内部状态以便这个对象可以在以后恢复到之前的某个状态.
在Memento模式中,有如下角色:
Memento (备忘录)
* 存储Originator的内部状态. 根据Originator的需要.可以存储任意的内部状态.
* 保护对状态的访问.除了Originator对象外,其他对象不能访问其存储的内部状态.Memeoto实...
分类:
其他好文 时间:
2016-04-22 19:32:46
阅读次数:
148
备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。很多时候我们总是需要记录一个对象的内部状态,这样做的目的就是为了允许用户取消不确定或者错误的操作,能够恢复到他原先的状态,使得他有”后悔药”可吃。大...
分类:
其他好文 时间:
2016-03-31 14:56:20
阅读次数:
104
1备忘录模式的核心内容是: A:包括一个存储记录的结构(C++中用类这样的结构来存储) B:包括产生记录的类。 C:使用一种数据结构来存储操作的记录。 2备忘录模式的作用是回放所做的操作 3备忘录模式详细描写叙述 备忘录模式:备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。 备忘录模式的用 ...
分类:
其他好文 时间:
2016-03-31 12:32:34
阅读次数:
241
备忘录模式C++实现 1定义Memento pattern 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先的状态 2类图 3实现 class Originator { private: string state; public: stri ...
分类:
编程语言 时间:
2016-03-31 01:47:03
阅读次数:
192
1 package com.shejimoshi.behavioral.Memento; 2 3 4 /** 5 * 功能:游戏角色 6 * 时间:2016年3月6日下午9:39:18 7 * 作者:cutter_point 8 */ 9 public class GameRole 10 { 11
分类:
其他好文 时间:
2016-03-06 23:35:40
阅读次数:
224
介绍 概念:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 应用场景:需要保存某个对象的某个时间的状态,如游戏的暂停,存档,恢复功能. 如果把数据库与实体关联起来了,也可以说数据库是这个对象的备忘录. 接来下实现一个游戏存档与读
分类:
其他好文 时间:
2016-03-03 17:38:16
阅读次数:
97
重要程度:★★☆☆☆ 一、什么是备忘录模式 保存对象的某个状态并可以恢复到该状态 二、补充说明 例子很多,如回退 ctri + z,回滚,ps恢复到操作历史的某一刻等等。。。 三、角色 备忘录角色:存储状态 发起人角色:创建备忘录,并利用备忘录存储自己的状态 负责人:管理备忘录 客户端 四、例子,J
分类:
其他好文 时间:
2016-02-27 09:45:39
阅读次数:
118