備忘錄模式

備忘錄最常見在遊戲中的進度保存,在打boss之前先保存當前進度,當在打鬥中掛掉了,則從之前的進度中恢復,從而達到無限打boss,而打不死boss的死循環中,-  -!

備忘錄模式:在不破壞封裝性的前提下,捕獲一個對象的內部狀態,並在該對象外進行存儲,並能夠恢復到原先保存狀態。

所以,抽出來三個對象:originator,該對象有保存當前進度和恢復當前進度,Memento,該對象記錄當前進度的所有信息,caretaker,在外部保存記錄的對象。

originator:

State state;

Memento* createMemento();

void setMemento(Memento * memento);

 

Memento:

State state;

 

 

Caretaker:

Memento *memento;

void setMemento(Memento* memento);

Memento* getMemento();

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章