메멘토 패턴
이 패턴은 주로 데이터 손실 방지, 취소, 복구에 사용된다. (대용량 객체의 백업, 복구를 위해 메멘토 패턴을 적용하면 시간, 공간을 효과적으로 절약할 수 있다.)
캡슐화 원칙을 위반하지 않는다는 전제하에서, 객체 내부 상태를 획득하고, 이 상태를 객체의 외부에 저장하여, 객체를 이전 상태로 복구할 수 있도록 한다.
- 나중에 복구할 수 있도록 복사본을 저장한다.
시간, 공간의 최적화
- 메멘토 패턴을 적용할 때, 백업할 객체가 크고 백업 빈도가 높으면 효율이 낮아질 것이다.
- 이러한 문제를 해결하기 위해 높은 빈도로 진행되는 백업은 증분 백업(incremental backup)을 하고, 전체 백업(full backup)은 며칠 간격으로 처리해야한다.
- 증분 백업은 변경 사항만을 기록한다.
- 전체 백업은 전체를 Snapshot으로 만들어 저장한다.
- 이러한 문제를 해결하기 위해 높은 빈도로 진행되는 백업은 증분 백업(incremental backup)을 하고, 전체 백업(full backup)은 며칠 간격으로 처리해야한다.