티스토리 뷰
반응형
Head First - Design Patterns 의 템플릿 메소드 패턴 기반으로 작성하였습니다. 자세한 설명은 도서를 참고해주세요.
메멘토 패턴에 대해서 알아보겠습니다.
객체를 이전 상태로 복구시켜야 하는 경우 메멘토 패턴을 활용하면 됩니다.
게임 좋아하시나요? 게임 같은 경우가 메멘토 패턴을 많이 사용할텐데요. 예를들어 게임을 어느정도 진행하다가 세이브 기능을 진행해야할 때 메멘토패턴을 사용하면 됩니다.
메멘토 패턴 이란?
단일 역할 원칙(single reponsibility principle) 의 원칙을 지키면서 메멘토 패턴을 바라본다면, 저장하고자 하는 상태와 핵심 객체를 분리하여야 합니다. 여기서 상태를 따로 저장하는 역할을 맡은 객체를 메멘토 객체라고 부릅니다.
장점
저장된 상태를 핵심 객체와 분리하여 다른 별도의 객체에 보관하기 때문에 안전합니다. 핵심 객체의 데이터를 캡슐화된 상태로 저장 가능합니다.
단점
상태를 저장하고 복구하는 데 시간이 오래 걸릴 수도 있습니다.
마무리
한번이라도 게임을 해봤으면 메멘토 패턴에 대해서 이해하기 쉬웠을 것입니다. 다양한 분야에서 데이터 저장이 필요 시 메멘토 패턴을 활용하여 핵심 객체와 상태값을 분리해서 단일 역할 원칙을 준수하는걸 고려해 보시기를 추천드립니다.
반응형
'프로그래밍 > Design Patterns' 카테고리의 다른 글
비지터(Visitor) 패턴 (0) | 2022.02.14 |
---|---|
프로토타입(Prototype) 패턴 (0) | 2022.02.10 |
미디에이터(Mediator) 패턴 (0) | 2022.02.08 |
인터프리터(Interpreter) 패턴 (0) | 2022.02.02 |
플라이웨이트(Flyweight) 패턴 (0) | 2022.01.26 |
댓글
최근에 올라온 글
최근에 달린 댓글
TAG
- RXjava
- 선교
- 스코어헬퍼
- missionchina
- java
- 알고리즘
- 고시문헬퍼
- IT
- 임용고시
- swift
- DI
- 패턴
- 코틀린
- MCC
- IOS
- push
- 고시문
- 디자인패턴
- Android
- Kotlin
- 점수판
- flutter
- Android Studio
- missioon
- issue
- view
- 미션차이나센터
- 안드로이드
- 탁구
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함