20 備忘錄模式

2021-10-10 15:49:51 字數 436 閱讀 2764

備忘錄模式: 就是記錄一些之前的狀態,例如乙個物件的值被修改了,那麼這個物件修改前的值需要存放下來。

originator:被記錄的物件;

mement:當originator物件被修改時,修改前的值需要建立乙個mement物件來記錄;

caretaker:建立mement物件後,需要把這個物件放在caretaker中,並且caretaker類中需要提供乙個查詢之前記錄的方法。

注:為了符合迪公尺特原則,還要增加乙個管理(caretaker)備忘錄的類。 2、為了節約記憶體,可使用原型模式+備忘錄模式。

備忘錄模式屬於業務中常見的模式,只是在實際開發中基本會使用資料庫(mysql、redis等)去存放一些歷史資料,這裡介紹的存放在記憶體當中。

備忘錄模式 設計模式 20

備忘錄模式,在乙個物件儲存內部狀態,然後在這個狀態之外的物件儲存整個狀態,注意 要注意記憶體的管理 備忘錄模式,通俗易懂的話語來講,其實就是將整個物件儲存在記憶體中,這樣會有什麼好處呢?例如 以前我們玩單機遊戲,遊戲 剛開始玩的時候生命值是100,等打了很多很多戰機之後,受過很多傷害,生命值慢慢的就...

設計模式 20 備忘錄模式

目錄 什麼是備忘錄模式 為什麼要用備忘錄模式 備忘錄模式組成 儲存物件某一時刻的狀態,並在需要時恢復之前儲存的狀態。如字面所述,備忘錄模式就是乙個物件的備份模式。備忘錄模式運用於需要備份並恢復狀態資料的場景。甚至可以儲存多個儲存點狀態,並指定恢復到相應的節點。備忘錄角色 public class m...

備忘錄模式

備忘錄模式 memento 在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可將該物件恢復到原先儲存的狀態。originator 發起人 負責建立乙個備忘錄memento,用以記錄當前時刻它的內部狀態,並可以使用備忘錄恢復內部狀態。originator可根據需要...