Python
設計模式
備忘錄模式
class Memento: def __init__(self, state): self.state = state def GetState(self): return self.state
class Origniator: def __init__(self): self.state = '' def GetState(self): return self.state def SetState(self, state): self.state = state def SaveStateToMemeto(self): return Memento(self.state) def getStateFromMemeto(self, Memento): self.state = Memento.GetState()
class CareTaker: def __init__(self): self. MementoList = [] def Add(self, memento): self.MementoList.append(memento) def GetMementoIndex(self, index): return self.MementoList[index]
O = Origniator() C = CareTaker() O.SetState('1 state 1') O.SetState('2 state 2') C.Add(O.SaveStateToMemeto()) O.SetState('3 state 3') C.Add(O.SaveStateToMemeto()) O.SetState('4 state 4') print('Current State : ' + O.GetState()) O.getStateFromMemeto(C.GetMementoIndex(0)) print('First State : ' + O.GetState()) O.getStateFromMemeto(C.GetMementoIndex(1)) print('Second State : ' + O.GetState())
程式碼說明
定義memeto,定義操作類別,定義儲存類別,操作。
留言
張貼留言