設計模式學習(C 實現)18 備忘錄模式

2021-10-02 10:12:43 字數 650 閱讀 3947

以word為例,我們經常會使用撤銷和前進操作,那麼意味著這個系統必然會儲存其歷史狀態,保證撤銷時能夠讀取,這時候就可以使用備忘錄模式,也稱謂快照模式。

struct state

;class

statemanager

//some error log

return;}

void

storestate

(state& state)

private

: std::stack states_;};

class

system

void

setname

(std::string name)

void

seterrorstate

(bool error)

void

restorestate()

void

printstate()

private

: state state_;

statemanager state_manager_;};

intmain()

如果想要實現前進後退功能,可以使用vector或者迴圈佇列來作為資料結構儲存狀態,實現起來也很簡單。

18 備忘錄模式

package memento 以前的小霸王遊戲是不是可以儲存遊戲進度?是的 那是怎麼實現的呢?應該是.來 先簡單實現一下 public class commonly class gamerole 獲得初始狀態 public void getinitstate 戰鬥 public void figh...

18 備忘錄模式

在不破壞封裝的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存該狀態。這樣以後就可將該物件恢復到原先儲存的狀態 理解originator 原發器,使用備忘錄來儲存某個時刻原發器自身的狀態,也可以使用備忘錄來恢復內部狀態 memento 備忘錄,儲存原發器物件的內部狀態,原發器外部的物件不應該能訪問...

設計模式 備忘錄模式 C 實現

備忘錄模式 memento pattern 儲存物件的某個狀態,以便在適當的時候恢復。備忘錄模式屬於行為型模式。意圖 在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。解決問題備忘錄模式就是在不破壞封裝的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態,這樣可以在...