반응형
20. 메멘토 패턴(Memento Pattern)
메멘토 패턴은 개체의 상태를 기록해 놓았다가 원래 상태로 복원을 할 필요가 있을 때 기록해 놓은 것을 사용하는 패턴입니다. 메멘토 패턴은 실행 취소 기능을 지원하고자 할 때 많이 사용됩니다.
간단한 예를 들어볼께요. 어떠한 응용에서 특정 기능을 수행할 것을 요청하기 전에 원본 개체에게 메멘토 개체를 요청합니다. 원본 개체는 자신의 상태 정보에 대한 스냅샷인 메멘토 개체를 생성하여 반환합니다. 그리고, 특정 기능을 수행하다가 수행 이전 상태로 복원이 필요하게 되면 반환 받았던 메멘토 개체를 원본 개체에게 전달하여 복원할 것을 요청합니다. 원본 개체는 전달받은 메멘토 개체에 보관해 두었던 이전 상태 값을 얻어와서 자신의 상태를 복원을 하는 것입니다.
2016/04/28 - [프로그래밍 기술/Escort GoF의 디자인 패턴 C#] - [C#] 메멘토 패턴(Memento Pattern) - 개요, 시나리오
2016/04/28 - [프로그래밍 기술/Escort GoF의 디자인 패턴 C#] - [C#] 메멘토 패턴(Memento Pattern) - 설계(Design)
2016/04/28 - [프로그래밍 기술/Escort GoF의 디자인 패턴 C#] - [C#] 메멘토 패턴(Memento Pattern) - 구현
반응형
'프로그래밍 기술 > Escort GoF의 디자인 패턴 C#' 카테고리의 다른 글
[소프트웨어 패턴 C#] 25. 방문자 패턴(Visitor Pattern) (0) | 2016.04.17 |
---|---|
[소프트웨어 패턴 C#] 24. 템플릿 메서드 패턴(Template Method Pattern) (2) | 2016.04.17 |
[소프트웨어 패턴 C#] 23.전략 패턴(Strategy Pattern) (0) | 2016.04.17 |
[소프트웨어 패턴 C#] 22. 상태 패턴(State Pattern) (0) | 2016.04.17 |
[소프트웨어 패턴 C#] 21.감시자 패턴(Observer Pattern) (0) | 2016.04.17 |
[소프트웨어 패턴 C#] 19. 중재자 패턴 (Mediator Pattern) (0) | 2016.04.17 |
[소프트웨어 설계 패턴 C#] 18. 반복자 패턴(Iterator Pattern) (0) | 2016.04.17 |
[소프트웨어 설계 패턴 C#] 17. 해석자 패턴 (Iterpreter Pattern) (0) | 2016.04.17 |
[소프트웨어 설계 패턴 C#] 16. 명령 패턴 (Command Pattern) (0) | 2016.04.17 |
[소프트웨어 설계 패턴 C#] 책임 연쇄 패턴(Chain of Responsibility Pattern) (0) | 2016.04.17 |