設計模式 備忘錄模式(Memento)

2021-08-20 05:36:57 字數 1037 閱讀 5322

主要目的是儲存乙個物件的某個狀態,以便在適當的時候恢復物件,個人覺得叫備份模式更形象些,

通俗的講下:假設有原始類a,a中有各種屬性,a可以決定需要備份的屬性,備忘錄類b是用來儲存a的一些內部狀態,

類c呢,就是乙個用來儲存備忘錄的,且只能儲存,不能修改等操作。

original類是原始類,裡面有需要儲存的屬性value及建立乙個備忘錄類,用來儲存value值。

memento類是備忘錄類,storage類是儲存備忘錄的類,持有memento類的例項,該模式很好理解。

◆original類:

public class original

public void setvalue(string value)

public original(string value)

public memento creatememento()

public void restorememento(memento memento)

}

◆memento類:

public class memento

public string getvalue()

public void setvalue(string value)

}

◆storage類

public class storage

public memento getmemento()

public void setmemento(memento memento)

}

◆測試類:

public class test

}

◆輸出:

初始化狀態為:egg

修改後的狀態為:niu

恢復後的狀態為:egg

新建原始類時,value被初始化為egg,後經過修改,將value的值置為niu,最後倒數第二行進行恢復狀態,結果成功恢復了。

設計模式 備忘錄模式

錄入大批人員資料。正在錄入當前人資料時,發現上乙個人的資料錄錯了,此時需要恢復上乙個人的資料,再進行修改。word文件編輯時,突然電腦宕機或者斷電,再開啟時,可以看到word提示你恢復以前的文件。就死儲存某個物件內部狀態的拷貝,這樣以後就可以將該物件恢復到原先的狀態。源髮器類originator 備...

設計模式 備忘錄模式

備忘錄模式 memento pattern 在不破壞封閉的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可將該物件恢復到原先儲存的狀態。涉及角色 1.original 發起人 負責建立乙個備忘錄memento,用以記錄當前時刻自身的內部狀態,並可使用備忘錄恢復內部狀態。ori...

設計模式 備忘錄模式

備忘錄模式是一種行為模式,該模式業內關於儲存物件當前狀態,並且之後可以再次恢復到此狀態。備忘錄模式實現的方式需要保證被儲存的物件狀態不能被物件從外部訪問,目的是為了保護好被儲存的這些物件狀態的完整性以及內部實現不向外暴露。在不破壞封閉的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態,這樣...