메멘토 패턴이란?

객체를 이전 상태로 되돌릴 수 있는 기능을 제공하는 패턴

객체의 상태를 이전 상태로 복원하려는 위치를 줄이기 위해 사용

구조

structure.png

  • Originator
    저장하려는 객체
  • Memento
    Originator의 특정 시점을 저장하는 객체
  • Caretaker
    Memento의 보관 및 관리

장점

지정된 객체의 상태를 별도의 객체에 보관하여,
지정 객체와 별도의 라이프 사이클을 지니게 되어 비교적 안전하다

복구 기능 구현이 쉬운편

단점

상태를 저장하고 복구하는 기능 자체는 비용이 많이 소요될 수 있음

객체를 시점에 따라 스냅샷 형식으로 저장해두기에 시스템의 자원에 영향을 미침


참고