設計模式之 備忘錄模式

2021-07-31 12:02:44 字數 991 閱讀 8969

定義:在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣就可以將該物件

恢復到原先儲存的狀態。

很好理解,就像我們以前打通關遊戲一樣,打通某個關卡,就會備份一下,不然根本通不了關。。

//備忘錄:負責儲存發起人物件的內部狀態,在需要的時候提供發起人需要的內部狀態。

public class memento

public string getstate()

public void setstate(string state)

}

package memento;

//發起人:記錄當前時刻的內部狀態,負責定義哪些屬於備份範圍的狀態,負責建立和恢復備忘錄資料。

public class originator

public void setstate(string state)

public memento creatememento()

public void recover(memento memento)

public void showstate()

}

package memento;

//管理角色:對備忘錄進行管理,儲存和提供備忘錄。

public class caretaker

public void setmemento(memento memento)

}

package memento;

public class client

}

設計模式之備忘錄模式

機器 public class machine public void startplay disc.setluminance 60 disc.settime 0 disc.setvolume 80 public void stopplay disc.setluminance 70 disc.set...

設計模式之備忘錄模式

定義 在不破壞封閉的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可將該物件恢復到原先儲存的狀態。備忘錄模式有三個角色 以儲存遊戲進度為例,退出遊戲前存檔,再進入遊戲就會顯示退出之前的狀態。示例 遊戲發起人類 public class game public state cr...

設計模式之備忘錄模式

在日常生活中,總會出現這樣的情況,有時候做錯了一件事,然後特別希望能夠回到發生這件事情之前。當然,這在日常生活中是不可能,不過,在軟體開發過程卻是可以實現的,比如說我們經常使用的ctrl z,或者一些其他軟體的回退功能等等,這其中就涉及到了備忘錄模式 memonto 所謂的備忘錄模式,其實就是把當前...