package test;
// 球員
public class player
public string getusername()
public void setusername(string username)
public string getstate()
public void setstate(string state)
// 建立乙個備忘錄
public nbaprogress creatememento()
// 恢復乙個備忘錄
public void restorememento(nbaprogress nbaprogress)
public void changestate(string state)
}
package test;
// 進入nba的進展問題
public class nbaprogress
public string getstate()
public void setstate(string state)
}
package test;
// 管理所有的 備忘錄
public class mementomanager
public void setnbaprogress(nbaprogress nbaprogress)
}
package test;
/****
* * @author yubo
* * 備忘錄模式: 實現一種記錄狀態和恢復狀態的機制。 可以隨時的處理這種功能的切換。
* * 測試場景: 大郅進入nba, 第一次失敗, 然後回來, 然後第二次, 失敗,回來。 然後在去。
* *
* 初步理解就是對狀態的一種管理,建立和恢復。 同時對這個狀態的管理也是一種封裝。 時刻需要注意的是高層不需要太多的變化和接觸。
* */
public class main
}
備忘錄模式
備忘錄模式 memento 在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可將該物件恢復到原先儲存的狀態。originator 發起人 負責建立乙個備忘錄memento,用以記錄當前時刻它的內部狀態,並可以使用備忘錄恢復內部狀態。originator可根據需要...
備忘錄模式
先從物件導向的三大特徵之一封裝說起。物件導向的封裝簡單點說就是把狀態 資料 和行為 操作這些資料的方法 放到一起,構成乙個單元,通常叫做類。乙個物件的行為是事先確定好的 靜態 一些指令碼,如果物件的狀態相同,物件看起來就是一樣的。所以當我們需要把乙個物件的某一時刻儲存起來,那麼只需要儲存它在那個時刻...
備忘錄模式
面臨問題 物件狀態的變化無端,如何回溯恢復物件在某個點的狀態?在軟體構建過程中,某些物件的狀態在轉換過程中,可能由於某種需要,要求程式能夠回溯到物件之前處於某個點時的狀態。如果使用一些公用介面來讓其他物件得到物件的狀態,便會暴露物件的細節實現。如何實現物件狀態的良好儲存與恢復?但同時又不會因此而破壞...