디자인 패턴 유형
- Creation Design Pattern
- 객체의 생성에 관련된 패턴
- 객체의 생성 로직을 숨김으로써 유연성을 향상시킨다.
- Strutural Design Pattern
- 클래스와 객체의 구성에 관련된 패턴
- Behavioral Design Pattern
- 객체와 객체 간의 통신에 관련된 패턴
[Behavioral Design Pattern] 메멘토 패턴(Memento Pattern)
1) 개요
메맨토 패턴은 객체의 상태 정보를 가지는 클래스를 따로 생성하여, 객체의 상태를 저장하거나 이전 상태로 복원할 수 있게 해주는 패턴입니다. 메멘토 패턴은 바둑, 오목, 체스 등의 보드게임 등에서 '무르기' 기능을 구현할 때 사용되기도 합니다.
단, 이전 상태의 객체를 저장하기 위한 Originator가 클 경우 많은 메모리가 필요합니다.
2) UML
- Originator : 객체의 상태를 저장합니다. Memento 객체를 생성하며 후에 Memento를 사용하여 실행 취소(undo)를 할 수 있습니다.
- Memento : Originator의 상태를 유지하는 객체입니다.(POJO)
- Caretaker : 마치 게임의 세이브포인트처럼 복수의 Memento의 상태를 유지해주는 객체입니다.
'Design Pattern > Behavioral Design' 카테고리의 다른 글
[Design Pattern] (Behavioral) 템플릿 메서드 패턴(Template Method Pattern) (0) | 2023.03.27 |
---|---|
[Design Pattern] (Behavioral) 전략 패턴(Strategy Pattern) (0) | 2023.03.27 |
[Design Pattern] (Behavioral) 관찰자 패턴(Observer Pattern) (0) | 2023.03.27 |
[Design Pattern] (Behavioral) 반복자 패턴(Iterator Pattern) (0) | 2023.03.27 |
댓글