728x90

1. 프로토타입 패턴 ( Prototype Pattern ) 정의

  • 원형이 되는 인스턴스를 사용하여 생성할 객체의 종류를 명시하고, 이렇게 만든 견본을 복사해서 새로운 객체를 생성하는 패턴.

 

2. JSON을 이용한 게임 데이터 모델링

{
    "이름": "고블린 보병",
    "기본체력": 20,
    "최대체력": 30,
    "내성": ["추위", "독"],
    "약점": ["불", "빛"]
}

{
    "이름": "고블린 마법사",
    "기본체력": 20,
    "최대체력": 30,
    "내성": ["추위", "독"],
    "약점": ["불", "빛"],
    "마법": ["화염구", "번개 화살"]
}

{
    "이름": "고블린 궁수",
    "기본체력": 20,
    "최대체력": 30,
    "내성": ["추위", "독"],
    "약점": ["불", "빛"],
    "공격방법": ["단궁"]
}

 

  • 기본체력, 최대체력, 내성, 약점 등 데이터가 중복되고 있다.

 

3. JSON을 이용한 게임 데이터 모델링 - 프로토타입

{
    "이름": "고블린 보병",
    "기본체력": 20,
    "최대체력": 30,
    "내성": ["추위", "독"],
    "약점": ["불", "빛"]
}

{
    "이름": "고블린 마법사",
    "프로토타입": "고블린 보병",
    "마법": ["화염구", "번개 화살"]
}

{
    "이름": "고블린 궁수",
    "프로토타입": "고블린 보병",
    "공격방법": ["단궁"]
}
  • 원형이 되는 "고블린 보병" 인스턴스를 이용한 프로토타입 패턴 예시
  • 기본체력, 최대체력, 내성, 약점 등 중복되는 데이터를 중복해서 사용하지 않도록 수정되었다
반응형

+ Recent posts