1. 상태 패턴

객체의 내부 상태에 따라 스스로 행동을 변경할 수 있게 허가하는 패턴.

 

- 가질 수 있는 상태가 한정.

- 한번에 한가지 상태만 될 수 있음.

- '입력'이나 '이벤트'가 기계에 전달된다.

- 각 상태에는 입력에 따라 다음 상태로 바뀌는 '전이'가 있다.

 

2. 싱글턴 패턴

오직 한개의 클래스 인스턴스만을 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공한다.

싱글턴을 실제로 필요로 할 때까지 인스턴스 초기화를 미루는 역할 (게으른 초기화)도 한다.

 

*싱글턴 장점

-한번도 사용하지 않는다면 아예 인스턴스 생성 X

-런타임에 초기화

-싱글턴을 상속할 수 있음

 

*싱글턴 단점

-알고보니 전역 변수.. 버그를 찾거나 수정 시 이해 어려움

-커플링을 조장한다.

(커플링 : 코드의 한 요소가 다른 것과 얼마나 강력하게 연결되어 있는지 , 얼마나 의존적인지 나타내는 정도)

-게으른 초기화는 게임 프로그래밍에서는 제어가 어려움.

 

3. 컴포넌트 패턴

한 개체가 여러 분야를 서로 커플링 없이 다룰 수 있게 한다.

여러 분야를 다루는 하나의 개체가 있다면, 분야별로 격리하기 위해 각각의 코드를 별도의 컴포넌트 클래스에 둔다.

이제 개체 클래스는 단순히 이들 컴포넌트들의 컨테이너 역할만 한다.

 

Ex. 게임오브젝트1은 물리 컴포넌트와 그래픽 컴포넌트를 가진다.

+ Recent posts