공부/개념 & 유용한 내용
디자인 패턴 - 상태 패턴, 싱글턴 패턴, 컴포넌트 패턴
ENUM01
2020. 6. 5. 10:12
1. 상태 패턴
객체의 내부 상태에 따라 스스로 행동을 변경할 수 있게 허가하는 패턴.
- 가질 수 있는 상태가 한정.
- 한번에 한가지 상태만 될 수 있음.
- '입력'이나 '이벤트'가 기계에 전달된다.
- 각 상태에는 입력에 따라 다음 상태로 바뀌는 '전이'가 있다.
2. 싱글턴 패턴
오직 한개의 클래스 인스턴스만을 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공한다.
싱글턴을 실제로 필요로 할 때까지 인스턴스 초기화를 미루는 역할 (게으른 초기화)도 한다.
*싱글턴 장점
-한번도 사용하지 않는다면 아예 인스턴스 생성 X
-런타임에 초기화
-싱글턴을 상속할 수 있음
*싱글턴 단점
-알고보니 전역 변수.. 버그를 찾거나 수정 시 이해 어려움
-커플링을 조장한다.
(커플링 : 코드의 한 요소가 다른 것과 얼마나 강력하게 연결되어 있는지 , 얼마나 의존적인지 나타내는 정도)
-게으른 초기화는 게임 프로그래밍에서는 제어가 어려움.
3. 컴포넌트 패턴
한 개체가 여러 분야를 서로 커플링 없이 다룰 수 있게 한다.
여러 분야를 다루는 하나의 개체가 있다면, 분야별로 격리하기 위해 각각의 코드를 별도의 컴포넌트 클래스에 둔다.
이제 개체 클래스는 단순히 이들 컴포넌트들의 컨테이너 역할만 한다.
Ex. 게임오브젝트1은 물리 컴포넌트와 그래픽 컴포넌트를 가진다.