Memento 패턴
객체의 내부 구조를 외부에 노출하지 않으면서도, 특정 시점의 상태를 스냅샷으로 저장해두었다가 나중에 그 시점으로 되돌릴 수 있게 해주는 디자인 패턴입니다.
한눈에 보는 정의
Memento 패턴은 객체의 내부 구조를 외부에 노출하지 않으면서도, 특정 시점의 상태를 스냅샷으로 저장해두었다가 나중에 그 시점으로 되돌릴 수 있게 해주는 디자인 패턴입니다.
자세히 알아보기
- 예문: "게임에서 '저장' 지점을 만들어두고 나중에 그 지점으로 돌아가는 기능이 Memento 패턴과 비슷하다."
- 상태를 저장하는 객체(Memento)를 별도로 두어, 원래 객체는 자신의 내부 구조를 그대로 캡슐화한 채 필요할 때만 이전 상태를 꺼내 복원할 수 있습니다.
- Command 패턴 (Command 패턴)과 함께 활용하면, 실행 취소(undo) 기능을 명령 이력과 상태 저장 두 가지 방식으로 구현할 수 있습니다.
- 문서 편집기의 실행 취소, 게임의 저장·불러오기 기능처럼 '되돌리기'가 필요한 다양한 소프트웨어에서 활용됩니다.