메멘토(스냅샷, Memento) 패턴

상태를 저장해서 객체를 제어하는 패턴입니다.

실제 적용 예시

  • 에디터에서 스냅샷을통해서 상태를 되돌릴수 있는 것이 예시입니다.

언제 사용할까 ?

상태 변경이 많아 상태 복원을 해야 안정적으로 기능을 사용할 수 있을때 사용합니다.

객체의 특정 속성을 복사 접근하는것이 캡슐화 위반에 해당될때 사용합니다. (스냅샷은 객체가 스스로 상태를 생성하게 합니다.)

장점

  • 안정적으로 객체를 조작할 수 있습니다.

단점

  • 너무 많은 스냅샷으로 메모리를 소모