디자인 패턴 - 행동 패턴(메멘토)
메멘토(스냅샷, Memento) 패턴
상태를 저장해서 객체를 제어하는 패턴입니다.
실제 적용 예시
- 에디터에서 스냅샷을통해서 상태를 되돌릴수 있는 것이 예시입니다.
언제 사용할까 ?
상태 변경이 많아 상태 복원을 해야 안정적으로 기능을 사용할 수 있을때 사용합니다.
객체의 특정 속성을 복사 접근하는것이 캡슐화 위반에 해당될때 사용합니다. (스냅샷은 객체가 스스로 상태를 생성하게 합니다.)
장점
- 안정적으로 객체를 조작할 수 있습니다.
단점
- 너무 많은 스냅샷으로 메모리를 소모