C 設計模式 備忘錄模式

2021-09-29 10:50:09 字數 1018 閱讀 3338

應用:

#ifndef caretaker_h

#define caretaker_h

#include "memento.h"

class caretaker

void setmemento(memento *memento)

//備忘錄物件

private:

memento *memento_;

};#endif // caretaker_h

#ifndef memento_h

#define memento_h

#include class memento

qstring getstate()

void setstate(qstring state)

};#endif // memento_h

#ifndef originator_h

#define originator_h

#include "memento.h"

class originator

void setstate(qstring state)

//建立乙個備忘錄

memento* creatememento()

//恢復乙個備忘錄

void restorememento(memento *_memento)

//內部狀態

private:

qstring state_ = "";

};#endif // originator_h

#include "caretaker.h"

#include "originator.h"

int main(int argc, char *ar**)

原始碼github:cppdesignpattern

coologic 部落格網域名稱已更改,已從 www.techieliang.com 改為

www.coologic.cn,上述鏈結位址受到影響,若需檢視源文請手動修改,多有不便,敬請諒解。

C 設計模式 備忘錄模式

一.介紹 備忘錄模式 memento pattern 屬於行為型模式。它在不破壞封裝性的前提下,捕捉乙個物件的內部狀態,並在該物件之外儲存這個狀態,這樣以後就可將該物件恢復到原先儲存的狀態。二.實現 備忘錄顧名思義就是可以儲存多個資訊的工具。在該模式下,如果乙個物件出現了多種狀態,通過管理者的集合去...

設計模式 備忘錄模式

錄入大批人員資料。正在錄入當前人資料時,發現上乙個人的資料錄錯了,此時需要恢復上乙個人的資料,再進行修改。word文件編輯時,突然電腦宕機或者斷電,再開啟時,可以看到word提示你恢復以前的文件。就死儲存某個物件內部狀態的拷貝,這樣以後就可以將該物件恢復到原先的狀態。源髮器類originator 備...

設計模式 備忘錄模式

備忘錄模式 memento pattern 在不破壞封閉的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可將該物件恢復到原先儲存的狀態。涉及角色 1.original 發起人 負責建立乙個備忘錄memento,用以記錄當前時刻自身的內部狀態,並可使用備忘錄恢復內部狀態。ori...