备忘录模式是将要保存对象封装到一个备忘录对象中,所以当如果要保存的数据非常大的时候,这时候存入内存中,消耗的资源肯定比频繁连接数据库读取数据所要消耗的资源多,权衡两种实现“取消”的方法,这时候我们在使用这个模式的时候就要考虑下了。...
分类:
其他好文 时间:
2014-08-10 21:34:20
阅读次数:
284
备忘录模式(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。
(1),把要保存的细节给封装在 Memento 中,那一天要更改保存的细节也不用影响客户端了。
(2),Memento 模式比较适用于功能比较复杂的,但需要维护或记录属性历史的类,需要保存的属性只是众多属性中的一小部分时,Originator 可...
分类:
其他好文 时间:
2014-08-05 00:49:28
阅读次数:
303
备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样,以后就可以将该对象恢复到原先保存的状态。下面是一个用C++描述的备忘录模式的基本框架。
#include
#include
using namespace std;
// 备忘录
class Memento {
public:
// 保存数据
Memento(const string &st...
分类:
其他好文 时间:
2014-08-03 23:21:30
阅读次数:
320
定义
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。
结构图:
Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻它的内部状态,并可使用备忘录恢复内部状态。Originator可根据需要决定Memento存储Originator的哪些内部状态。
Memento(备忘录):负责...
分类:
其他好文 时间:
2014-07-28 16:32:33
阅读次数:
369
定义
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可将该对象恢复到原先保存的状态。
案例
比如现在有一个绘图系统,我们在Viewer里面画了一些图形,但是在绘制的过程中可能画出的图像不是想要的,这时候需要到正确的绘制状态,这时候可以在每次绘制的时候保存绘制的状态信息,但是要在不改变Viewer的封装性的前提下实现,有点困难,这...
分类:
其他好文 时间:
2014-07-23 13:39:37
阅读次数:
295
备忘录模式是一种比较简单的设计模式,该模式很好地体现了一种面向对象的封装思想。该模式的思想是用一个专门的备份类将当前的状态信息保存起来,在整个过程中用户不能直接接触该备份类,为了达到这个目的,需要创建一个管理类,用户对先前的信息进行备份和还原。这样,如果用户想备份当前信息或者还原至前一个状态,我们可以通过该管理类的对象来调用备份函数和还原函数。当然,我们所看到的所有状态都是由一个运行类提供。...
分类:
编程语言 时间:
2014-07-22 08:31:36
阅读次数:
294
本文接着介绍11种行为型模式里的备忘录模式、观察者模式、状态模式。一、备忘录模式 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。还是比较好理解的。1.Memento 备忘录存储原发器对象的内部状态,这个类就是要存储的对象的状态。状态需要多少个变量,在Memento里就写多少个变量。public class Memento {...
分类:
编程语言 时间:
2014-07-15 12:53:33
阅读次数:
324
(十九)备忘录模式
备忘录模式目的是保存一个对象的某个状态,在适当的时候恢复这个对象。
(二十)状态模式
状态模式的意义是将表示对象状态的逻辑分散到代表状态的不同类中。为了处理状态间的迁移,可以让主对象包含一组状态的引用。或者在状态迁移的调用中,将主对象传递给状态改变的类。也可以让状态类的信息提供者仅仅给出下一个状态,而不更新主对象。无论如何管理状态迁移,状态模式都会通过将对象的不同状态操作,分散到一组类集合中,从而简化代码。...
分类:
编程语言 时间:
2014-07-14 18:06:52
阅读次数:
415
定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就能够将该对象恢复到原先保存的状态类型:行为类类图: 我们在编程的时候,常常须要保存对象的中间状态,当须要的时候,能够恢复到这个状态。比方,我们使用Eclipse进行编程时,假如编写失误(比如不小心误删除了几行代码...
分类:
其他好文 时间:
2014-07-11 20:57:41
阅读次数:
156