DesignPatterns에서 BehavioralPatterns의 하나

현재의 객체의 상태를 기록하여 보존, undo, redo, history, snapshot등이 가능하다. 객체의 내부상태를 가능한 공개하지 않고 객체의 상태를 보존하는것이 핵심

Structure

Example

주사위게임 MementoDiceGame.java

  • 주사위에 따라 돈/과일을 받는다.
    • 1 : 100 만큼 돈 증가
    • 2 : 1/2 로 돈 감소
    • 6 : 과일을 받는다. (랜덤하게 delicious fruit or nomal fruit)
    • 돈이 증가하면, 현상태 기억 (기억할때 과일은 delicious만 기억)
    • 돈이 1/2로 줄어들면, 기억되어있는것으로 대체
  • main에서 memento를 new로 만들지 않는다. 즉 memento와 느슨한 연결
  • memento는 public이 getMoney단 하나이다.
  • 여러개의 memento도 만들수 있다.

관련정보

MementoPattern MementoPattern


CategoryPattern

MementoPattern (last edited 2012-10-08 16:26:45 by 61)

web biohackers.net