나만 이해하도록 불친절하게 작성되어 있습니다.
자세한 내용은 책을 보세요.
Memento
- 프로그램의 undo, redo, history 기능을 위한 상태 저장 용도로 사용
- Polymorphysm을 사용하지 않는 패턴이다.
- Memento 클래스는 Originator의 상태를 나타내는데, 이것의 생성은 같은 package에 속한 Originator가 한다. (Memento의 생성자는 package private이다) 또 Originator는 외부로부터 Memento를 전달 받으면 그걸로 상태를 복원한다.
- Caretaker는 Originator에게 '상태를 저장해라'라고 명령을 내리고 Memento를 관리한다. 필요하면 저장된 Memento를 Originator에게 전달하면서 '상태를 복원해라'라고 명령을 내린다.
- Originator는 Memento의 생성자와 같은 narrow interface를 사용할 수 있고, Caretaker는 주로 getter와 같은 Mementor의 wide interface를 사용한다.
댓글 없음:
댓글 쓰기