設計模式之備忘錄模式

2021-10-08 20:21:09 字數 1018 閱讀 9488

目錄

備忘錄模式mememto 概念

應用場景

角色和職責​ 案例

memento(備忘錄)

caretaker(管理者)

適用於:

#include using namespace std;

#include "string"

class mememto

void setname(string name)

string getname()

void setage(int age)

int getage()

protected:

private:

string m_name;

int m_age;

};class person

void setname(string name)

string getname()

void setage(int age)

int getage()

void printt()

public:

//建立備份

mememto *createmememto()

//恢復備份

void setmememto(mememto *memto)

protected:

private:

string m_name;

int m_age;

};//管理者

class caretaker

mememto *getmememto()

void setmememto(mememto *mem)

protected:

private:

mememto *m_memto;

};void main23_01()

void main23_02()

void main()

【注】參考傳智掃地僧c++設計模式

設計模式之備忘錄模式

機器 public class machine public void startplay disc.setluminance 60 disc.settime 0 disc.setvolume 80 public void stopplay disc.setluminance 70 disc.set...

設計模式之備忘錄模式

定義 在不破壞封閉的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可將該物件恢復到原先儲存的狀態。備忘錄模式有三個角色 以儲存遊戲進度為例,退出遊戲前存檔,再進入遊戲就會顯示退出之前的狀態。示例 遊戲發起人類 public class game public state cr...

設計模式之 備忘錄模式

定義 在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣就可以將該物件 恢復到原先儲存的狀態。很好理解,就像我們以前打通關遊戲一樣,打通某個關卡,就會備份一下,不然根本通不了關。備忘錄 負責儲存發起人物件的內部狀態,在需要的時候提供發起人需要的內部狀態。public c...