設計模式的應用場景 21 備忘錄模式

2021-10-06 07:44:09 字數 1284 閱讀 4895

定義:該模式就是乙個物件複製儲存另外乙個物件內部狀態的物件。便於將物件狀態恢復到原先儲存的狀態。

優點:可以避免暴露一些應由源髮器(就是生產原始物件的類)管理卻又必須儲存在源髮器之外的資訊。

缺點:開銷大代價可能高。要儲存的可能資訊多,或者頻繁儲存恢復。

使用時機:當系統必須要儲存乙個物件在某乙個時刻的狀態,以方便需要的時候能恢復到先前的狀態時,就可以使用備忘錄模式。

領導找小鞏建立乙個會議紀要系統,需要儲存相關資訊,需要的時候可以查閱。

首先設計乙個會議紀要類,記錄會議名字,參與人名,內容,用於被儲存或被恢復的物件。

public

class

cahier

public string getname (

)public

void setcontent (string content)

public string getcontent (

)public

void setpersons (string persons)

public string getpersons (

)public memento getmemento()

public

void

setmemento

(memento memento)

}

下面分別實現源髮器和備忘錄

public

class

originator

public

void

setmemento

(memento memento)

private memento memento;

}public

class

memento

public

void setname (string name)

public string getname (

)public

void setcontent (string content)

public string getcontent (

)public

void setpersons (string persons)

public string getpersons (

)}

下面顯示客服端呼叫**,可以看到有恢復undo功能

public

class

client

}

設計模式 備忘錄

設計模式 備忘錄 備忘錄模式很簡單,就是儲存物件,然後支援恢復物件到之前的某個狀態,玩過遊戲的,一定懂得存檔一說,備忘錄就是對物件的存檔與管理。效果 這個需要配合fastcoder使用,請自行到github上去搜尋原始碼fastcoder原始碼 原始碼 model.h 與 model.m memen...

設計模式 備忘錄

設計模式 備忘錄 備忘錄模式很簡單,就是儲存物件,然後支援恢復物件到之前的某個狀態,玩過遊戲的,一定懂得存檔一說,備忘錄就是對物件的存檔與管理。效果 這個需要配合fastcoder使用,請自行到github上去搜尋原始碼fastcoder原始碼 原始碼 model.h 與 model.m model...

備忘錄設計模式

1.備忘錄設計模式 1.1什麼叫備忘錄模式?memento模式也叫備忘錄模式,是行為模式之一,它的作用是在不破壞封閉的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。並且在需要的時候 undo rollback 恢復物件以前的狀態。備忘錄模式 memento pattern 又叫做快照模...