목록2024/01/28 (1)
개발하는 리프터 꽃게맨입니다.
[C++/디자인패턴] 상태 패턴 (State Pattern)
상태 패턴 1) 개요 스테이트 패턴은 객체가 특정 상태에 따라 다른 기능을 구현할 때, 객체가 자기 상태에 따라 행위를 호출하는 것이 아니라, 상태를 객체화하여 상태가 행동을 할 수 있도록하는 패턴을 말합니다. 2) 기본 구조 예를들어 게임 캐릭터가 있다고 상상해봅시다. 게임캐릭터는 대기, 점프, 달리기, 웅크리기 총 4개의 상태를 가지고 있다고 하고 각각 상태에 따라 공격을 구현해봅시다. 그런데 이 코드에는 단점이 있습니다. 만약 캐릭터가 공격뿐만 아니라 공격, 방어, 스킬 총 3개의 동작이 존재한다고 하면 case처리만 12개로 늘어나 버립니다. 여기서 상태도 늘어나버린다면, 코드가 더욱 복잡해지겠죠? 그래서 이 때 사용하는 것이 스테이트 패턴입니다. 3) 예시 이런 식으로 상태를 객체화해서 상태가 ..
기타 개발 지식/디자인패턴
2024. 1. 28. 23:07