728x90
1. 프로토타입 패턴 ( Prototype Pattern ) 정의
- 원형이 되는 인스턴스를 사용하여 생성할 객체의 종류를 명시하고, 이렇게 만든 견본을 복사해서 새로운 객체를 생성하는 패턴.
2. JSON을 이용한 게임 데이터 모델링
{
"이름": "고블린 보병",
"기본체력": 20,
"최대체력": 30,
"내성": ["추위", "독"],
"약점": ["불", "빛"]
}
{
"이름": "고블린 마법사",
"기본체력": 20,
"최대체력": 30,
"내성": ["추위", "독"],
"약점": ["불", "빛"],
"마법": ["화염구", "번개 화살"]
}
{
"이름": "고블린 궁수",
"기본체력": 20,
"최대체력": 30,
"내성": ["추위", "독"],
"약점": ["불", "빛"],
"공격방법": ["단궁"]
}
- 기본체력, 최대체력, 내성, 약점 등 데이터가 중복되고 있다.
3. JSON을 이용한 게임 데이터 모델링 - 프로토타입
{
"이름": "고블린 보병",
"기본체력": 20,
"최대체력": 30,
"내성": ["추위", "독"],
"약점": ["불", "빛"]
}
{
"이름": "고블린 마법사",
"프로토타입": "고블린 보병",
"마법": ["화염구", "번개 화살"]
}
{
"이름": "고블린 궁수",
"프로토타입": "고블린 보병",
"공격방법": ["단궁"]
}
- 원형이 되는 "고블린 보병" 인스턴스를 이용한 프로토타입 패턴 예시
- 기본체력, 최대체력, 내성, 약점 등 중복되는 데이터를 중복해서 사용하지 않도록 수정되었다
반응형
'Design Pattern > 게임 프로그래밍 패턴' 카테고리의 다른 글
| [Design Pattern] 상태 패턴 (0) | 2022.07.31 |
|---|---|
| [Design Pattern] 싱글턴 패턴 (0) | 2022.07.30 |
| [Design Pattern] 관찰자 패턴 (0) | 2022.07.30 |
| [Design Pattern] 경량 패턴 (0) | 2022.07.29 |
| [Design Pattern] 명령 패턴 (0) | 2022.07.29 |