Memento模式

作者: 老练子丶2017 | 来源:发表于2017-11-24 21:04 被阅读0次

将状态保存,很简单,看看就能懂

Memento.h

#ifndef _MEMENTO_H

#define _MEMENTO_H

#include <iostream>

#include <string>

using namespace std;

class Originator;

class Memento

{

public:

protected:

private:

friend class Originator;

Memento() {

}

Memento(const string& sdt) {

_sdt = sdt;

}

~Memento() {

}

void SetState(const string& sdt) {

_sdt = sdt;

}

string GetState() {

return _sdt;

}

private:

string _sdt;

};

class Originator

{

public:

Originator() {

_sdt = "";

_mt = NULL;

}

Originator(const string& sdt) {

_sdt = sdt;

_mt = NULL;

}

~Originator() {

}

Memento* CreateMemento() {

return new Memento(_sdt);

}

string GetState() {

return _sdt;

}

void SetState(const string& sdt) {

_sdt = sdt;

}

void PrintState() {

cout << _sdt << endl;

}

void SetMemento(Memento* men) {

_mt = men;

}

void RestoreToMemento(Memento* mt) {

_sdt = mt->GetState();

}

private:

string _sdt;

Memento* _mt;

};

#endif // _MEMENTO_H

Memento.cpp

#include "Memento.h"

int main()

{

Originator* o = new Originator;

o->SetState("old");

o->PrintState();

Memento* m = o->CreateMemento();

o->SetState("new");

o->PrintState();

o->RestoreToMemento(m);

o->PrintState();

return 0;

}

编译:make Memento

相关文章

  • Memento模型(行为型)

    Memento模式就是提供前进后退,undo,redo操作。 结构图 Memento模式的关键就是要在不破坏封装的...

  • Memento模式

    备忘录(Memento)模式 定义 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模...

  • Memento模式

    将状态保存,很简单,看看就能懂 Memento.h #ifndef _MEMENTO_H#define _MEME...

  • Memento模式

    备忘录模式说白了就是把程序当时的状态记录下来,等到合适的时候就能读取当时的记录,重新返回当时的状态,就和我们玩游戏...

  • 备忘录模式 Memento Pattern

    备忘录模式(memento pattern)用于保存对象历史状态,以便后续可以恢复至任一状态。Memento pa...

  • 软件构造|备忘录模式

    一、备忘录模式(Memento Pattern): 也称为快照模式(Snapshot Pattern)23种设计模...

  • 设计模式[19]-备忘录模式-Memento Pattern

    1.备忘录模式简介 备忘录模式(Memento Pattern)模式是是行为型(Behavioral)设计模式,在...

  • Java设计模式之15_Memento(备忘录模式)

    更多Java设计模式:Java设计模式-目录 一、定义 备忘录模式(Memento Pattern)提供了一种弥补...

  • 设计模式之备忘录(Memento)

    概述 备忘录模式(Memento Pattern),是行为型模式设计模式之一,该模式用于保存对象当前状态,并且在之...

  • 设计模式-备忘录模式(Memento)的详解

    设计模式-备忘录模式(Memento)的详解 Android开发-备忘录模式在Android的应用和模拟实验 【备...

网友评论

    本文标题:Memento模式

    本文链接:https://www.haomeiwen.com/subject/eszfbxtx.html