Python 디자인 모델 의 비망록 모델 원리 와 용법 에 대한 상세 한 설명

본 논문 의 사례 는 Python 디자인 모델 의 비망록 모델 원리 와 용법 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
비망록 모드(Memento Pattern):패 키 징 성 을 파괴 하지 않 는 전제 에서 대상 의 내부 상 태 를 포착 하고 이 대상 을 제외 하고 이 상 태 를 저장 합 니 다.그러면 이 대상 을 원래 저 장 된 상태 로 복원 할 수 있 습 니 다.
다음은 비망록 모드 의 demo 입 니 다.

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Andy'
"""
      
    ――     
     (Memento Pattern):                     ,             ,                     
"""
#     
class Originator(object):
  def __init__(self, state):
    self.state = state
  def create_memento(self):
    return Memento(self.state)
  def set_memento(self, memento):
    self.state = memento.state
  def show(self):
    print "     ", self.state
#     
class Memento(object):
  def __init__(self, state):
    self.state = state
#     
class Caretaker(object):
  def __init__(self,memento):
    self.memento = memento
if __name__ == "__main__":
  #     
  originator = Originator(state='On')
  originator.show()
  #    
  caretaker = Caretaker(originator.create_memento())
  #     
  originator.state = 'Off'
  originator.show()
  #     
  originator.set_memento(caretaker.memento)
  originator.show()

실행 결과:
현재 상태  On
현재 상태  Off
현재 상태  On
위의 유형의 디자인 은 다음 과 같다.

Originator(발기인):현재 의 내부 상 태 를 기록 하고 비망록 을 사용 하여 내부 상 태 를 회복 할 수 있 는 비망록 Memento 를 만 드 는 것 을 책임 집 니 다.Originator 는 필요 에 따라 Memento 가 Originator 를 저장 하 는 내부 상 태 를 결정 할 수 있 습 니 다.
Memento(비망록):Originator 대상 의 내부 상 태 를 저장 하고 Originator 이외 의 다른 대상 이 비망록 Memento 에 접근 하 는 것 을 방지 할 수 있 습 니 다.
Caretaker(관리자):비망록 Memento 를 잘 저장 하고 비망록 의 내용 을 조작 하거나 검사 할 수 없습니다.
더 많은 파 이 썬 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기