備忘錄模式,在乙個物件儲存內部狀態,然後在這個狀態之外的物件儲存整個狀態,注意:要注意記憶體的管理;
備忘錄模式,通俗易懂的話語來講,其實就是將整個物件儲存在記憶體中,這樣會有什麼好處呢?
例如:以前我們玩單機遊戲,(***遊戲)剛開始玩的時候生命值是100,等打了很多很多戰機之後,受過很多傷害,生命值慢慢的就變成了0,然後就輸了,輸了之後會有乙個(重新再來一局)操作,可以恢復到初始狀態,其實在***遊戲之前,就已經把(遊戲初始值)存到備忘錄物件了,
當在(重新再來一局)操作時,只需恢復即可
以下舉例來完成:
package com.oop.demo2;
/** * 此物件為雄霸物件
*@author liudeli
* */
public
class
xionba
public
intgetlethality()
/*** 儲存(三分歸元氣)武功到雲端(備忘錄)
*@return
*/public cloud createcloud()
/***@param cloud
*/public
void
setxionba(cloud cloud)
/*** 使出三分歸元氣最大威力
*/public
void
hit()
}
package com.oop.demo2;
/** * 風雲物件
*@author liudeli
* */
public
class
fengyun
}
package com.oop.demo2;
/** * 雲端物件(備忘錄)
*@author liudeli
* */
public
class
cloud
public
intgetlethality()
}
package com.oop.demo2;
/** * 管理者
*@author liudeli
* */
public
class
manager
public
void
setcloud(cloud cloud)
}
/**
* 測試程式(備忘錄模式)
*@author liudeli
* */
public
class
main
}
執行結果:
設計模式 20 備忘錄模式
目錄 什麼是備忘錄模式 為什麼要用備忘錄模式 備忘錄模式組成 儲存物件某一時刻的狀態,並在需要時恢復之前儲存的狀態。如字面所述,備忘錄模式就是乙個物件的備份模式。備忘錄模式運用於需要備份並恢復狀態資料的場景。甚至可以儲存多個儲存點狀態,並指定恢復到相應的節點。備忘錄角色 public class m...
20 備忘錄模式
備忘錄模式 就是記錄一些之前的狀態,例如乙個物件的值被修改了,那麼這個物件修改前的值需要存放下來。originator 被記錄的物件 mement 當originator物件被修改時,修改前的值需要建立乙個mement物件來記錄 caretaker 建立mement物件後,需要把這個物件放在care...
設計模式 備忘錄模式
錄入大批人員資料。正在錄入當前人資料時,發現上乙個人的資料錄錯了,此時需要恢復上乙個人的資料,再進行修改。word文件編輯時,突然電腦宕機或者斷電,再開啟時,可以看到word提示你恢復以前的文件。就死儲存某個物件內部狀態的拷貝,這樣以後就可以將該物件恢復到原先的狀態。源髮器類originator 備...