언어/디자인 패턴

[디자인 패턴] #6_상태 패턴, State Pattern 게임 디자인 패턴 중 "상태 패턴"에 대해 알아보겠습니다. "게임 프로그래밍 패턴"의 7 항목, "상태"에 해당하는 내용입니다. 유한 상태 기계(FSM) 객체의 내부 상태에 따라 스스로 행동을 변경할 수 있게 허가하는 패턴으로, 이렇게 하면 객체는 마치 자신의 클래스를 바꾸는 것처럼 보입니다. 1. FSM, 유한 상태 기계 유한 상태 기계는 입력, 상태, 그리고 전이 (Transition)로 구성된 수학적 모델입니다. FSM = 입력 + 상태 + 전이 주요 포인트는 아래와 같습니다. 1. 가질 수 있는 "상태"가 한정적입니다. 2. 한 번에 한 가지 "상태"만 허용됩니다. 예를 들면, 서 있는 동시에 점프할 수 없습니다! 3. "입력" 혹은 "이..
[디자인 패턴] #5_싱글턴 패턴, Singleton Pattern 게임 디자인 패턴 중 "싱글턴 패턴(Singleton Pattern)"에 대해 알아보겠습니다. "게임 프로그래밍 패턴"의 6 항목, "싱글턴"에 해당하는 내용입니다. 싱글턴 패턴 오직 한 개의 클래스 인스턴스만을 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공한다. - GoF의 디자인 패턴 81pg "싱글턴 패턴"은 오직 한 개의 클래스 인스턴스만이 존재하도록 보장하고, 이에 대한 전역적인 접근을 허용하는 디자인 패턴입니다. 자세한 내용을 살펴보도록 합시다! 1. 오직 한 개의 인스턴스만 갖도록 보장 먼저, "싱글톤 패턴"의 두 가지 특징 중 첫 번째 특징을 살펴보겠습니다. "오직 한 개의 클래스 인스턴스만을 보장" 하는 "싱글턴 패..
[디자인 패턴] #4_프로토타입 패턴, Prototype Pattern 게임 디자인 패턴 중 "프로토타입 패턴(Prototype Pattern)"에 대해 알아보겠습니다. "게임 프로그래밍 패턴"의 5 항목, "프로토타입"에 해당하는 내용입니다. 프로토타입 패턴 원형(Prototype)이 되는 인스턴스를 사용해서 객체의 종류를 명시하고, 이렇게 만든 견본을 복사해서 새로운 객체를 생성합니다. - GoF의 디자인 패턴 - "프로토타입 패턴"은 원형이되는 인스턴스를 하나 만들어 새롭게 생성할 객체들의 프로토타입으로 사용하는 디자인 패턴을 말합니다. 역시 이해를 위해 예제를 살펴보겠습니다. Monster + Sapwner, 몬스터와 스포터 class Monster { //... }; 1. Ghost 몬스터 cl..
[디자인 패턴] #3_관찰자 패턴, Observer Pattern 게임 디자인 패턴 중 "관찰자 패턴(Observer Pattern)"에 대해 알아보겠습니다. "게임 프로그래밍 패턴"의 4 항목, "관찰자"에 해당하는 내용입니다. 관찰자 패턴, Observer 일대 다의 의존관계를 갖는 객체들이 어떠한 객체의 상태 변화를 그 객체와 의존성을 가진 다른 객체들이 그 변화를 "통지"받고 자동으로 업데이트할 수 있도록 합니다. 관찰자 패턴은 말 그대로 어떠한 객체의 상태 변화를 의존성을 갖는 다른 객체들에게, 혹은 관찰자들에게 그 변화를 통지하고 처리할 수 있게끔 하는 디자인 패턴입니다. 관찰자 패턴의 주요 포인트는 "피 관찰자"가 변화를 감지해 "관찰자"에게 그 변화들을 통지하는 객체들간의 관계 구조입니다...
[디자인 패턴] #2_경량 패턴, Flyweight Pattern 게임 디자인 패턴 중 "명령 패턴(Command Pattern)"에 대해 알아보겠습니다. "게임 프로그래밍 패턴"의 3 항목, "경량"에 해당하는 내용입니다. 경량 패턴 먼저, 경량 패턴이란 "공유"를 통해 다수의 "소립" 객체들을 효과적으로 지원하는 기법입니다. 경량 패턴의 요지는 "공유"입니다. 다수의 객체 인스턴스들이 공유하는 데이터 값을 한 데 모으고, 이러한 데이터들을 "고유 상태"라고 합니다. 그리고, 각 인스턴스들마다 다른 값을 갖는 나머지 데이터들을 "외부 상태"라고 구분하겠습니다. 경량 패턴은 다수의 인스턴스들이 공유하는 데이터들이 공통적으로 갖는 "고유 상태"를 공유하도록 만들어 효과적으로 메모리 사용량을 줄이도록 합니다..
[디자인 패턴] #1_명령 패턴, Command pattern 게임 디자인 패턴 중 "명령 패턴(Command Pattern)"에 대해 알아보겠습니다. "게임 프로그래밍 패턴"의 2 항목, "명령"에 해당하는 내용입니다. 커맨드 패턴, 명령 패턴, Command Pattern "명령 패턴"은 메서드 호출을 실체화한 것입니다. 이때, "실체화"는 실제 하는 것으로, 즉 어떤 개념을 객체화하는 것을 의미합니다. 이해하기 상당히 어렵죠... 예제를 통해 살펴보겠습니다. 입력키 변경, 특정 동작 실행 void InputHandler::handleInput() { if(isPressed(Button_Q)) ThrowFire(); else if(isPressed(Button_W)) MakeShield(); else..
Hardii2
'언어/디자인 패턴' 카테고리의 글 목록 (2 Page)