Python 备忘录模式

Created on Sun Mar 18 00:30:51 2018

@author: mz
"""

class Original(object):
    def save(self, state):
        print("save status: %s" %(state))
        self.__status = state
        
    def get(self, memocare):
        return memocare.resume()
        
    
class Memo(object):
    def setStatus(self, state):
        self.__state = state
    
    def getStatus(self):
        return self.__state

class MemoTaker(object):
    def save(self, memo):
        print("back up memo")
        self.__memo = memo
        
    def resume(self):
        return self.__memo.getStatus()
    
if "__main__" == __name__:
    orignal = Original()
    
    status = "Ready to attach enemies"
    orignal.save("Ready to attach enemies")
    
    memo = Memo()
    memo.setStatus(status)
    
    memoCare = MemoTaker()
    memoCare.save(memo)
    
    orignal.save("a huge loss, turn back to memo")
    print(orignal.get(memoCare))

运行结果:

save status: Ready to attach enemies
back up memo
save status: a huge loss, turn back to memo
Ready to attach enemies

猜你喜欢

转载自blog.csdn.net/mz5111089/article/details/79597370