定義:
在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。 這樣以後就可將該物件恢復到原先儲存的狀態。
類圖: 來自
/** * 備忘錄儲存原發起物件的內部狀態。
* @author administrator
* */
public class memento
public string getstate()
public void setstate(string state)
}
package memento;
/** * 負責儲存好備忘錄。
不能對備忘錄的內部進行操作或檢查。
* @author administrator
* */
public class caretaker
public void setmemento(memento memento)
}
package memento;
/** * 在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。 這樣以後就可將該物件恢復到原先儲存的狀態。、
* 適用性
* 1.必須儲存乙個物件在某乙個時刻的(部分)狀態,這樣以後需要時它才能恢復到先前的狀態。
* 2.如果乙個用介面來讓其它物件直接得到這些狀態,將會暴露物件的實現細節並破壞物件的封裝性。
* * @author administrator
* */
public class test
}
設計模式系列 備忘錄模式
originator 負責建立乙個備忘錄memento,用以記錄當前時刻它的內部狀態,並可使用備忘錄恢復內部狀態。originator可根據需要決定memento儲存originator的哪些內部狀態。memento 負責儲存originator物件的內部狀態,並可防止originator以外的其他...
java設計模式 備忘錄模式
備忘錄模式 定義 在不破壞封閉的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可將該物件恢復到原先儲存的狀態。涉及角色 1.originator 發起人 負責建立乙個備忘錄memento,用以記錄當前時刻自身的內部狀態,並可使用備忘錄恢復內部狀態。originator可以根據...
Java設計模式之 備忘錄模式
備忘錄模式是一種行為模式,該模式用於儲存物件當前的狀態,並且在之後可以再次恢復到此狀態,這有點像我們平時說的 後悔藥 備忘錄模式實現的方式需要保證被儲存的物件狀態不嗯呢該被物件從外部訪問,目的是為了保護號被儲存的這些物件狀態的完整性以及內部實現不向外暴露。在不破壞封閉的前提下,捕獲乙個物件的內部狀態...