備忘錄模式 設計模式 20

2021-07-25 18:11:24 字數 1529 閱讀 9169

備忘錄模式,在乙個物件儲存內部狀態,然後在這個狀態之外的物件儲存整個狀態,注意:要注意記憶體的管理;

備忘錄模式,通俗易懂的話語來講,其實就是將整個物件儲存在記憶體中,這樣會有什麼好處呢?

例如:以前我們玩單機遊戲,(***遊戲)剛開始玩的時候生命值是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 備...