싱글턴 패턴 (Singleton Pattern)
103 : 오직 한 개의 클래스 인스턴스만을 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공하는 패턴
싱글턴을 부적당한 곳에 사용하면 총상에 부목을 대는 것만큼이나 쓸모가 없다.
104 : 싱글턴의 장점
1. 오직 한 개의 클래스 인스턴스만 갖도록 보장
2. 전역 접근점을 제공
3. 한 번도 사용하지 않으면 인스턴스를 생성하지 않음
4. 런타임에 초기화
5. 싱글턴 상속 가능
108 : 싱글턴의 문제점
1. 전역변수
- 코드를 이해하기 어렵게 한다.
- 커플링을 조장한다.
- 멀티스레딩 같은 동시성 프로그래밍에 알맞지 않다.
2. 인스턴스를 한 개로 강제하고, 전역 접근을 원하는 두 가지를 모두 충족하는 상황에서만 유용하다.
3. Lazy Loading을 제어할 수 없다. (게임에서는 메모리 단편화를 막기 위해 힙에 메모리를 할당하는 방식을 세밀하게 제어한다.)
119 : 싱글턴을 대체할 패턴 : 하위 클래스 샌드박스 패턴(공용 상태를 전역으로 두지 않고 접근), 서비스 중재자 패턴(객체를 전역으로 접근하되 유연하게 설정)
'Computer Science > Design Pattern' 카테고리의 다른 글
| [게임 프로그래밍 패턴] 7. 이중 버퍼 패턴 (0) | 2023.11.19 |
|---|---|
| [게임 프로그래밍 패턴] 6. 상태 패턴 (0) | 2023.11.13 |
| [게임 프로그래밍 패턴] 4. 프로토타입 패턴 (0) | 2023.10.30 |
| [게임 프로그래밍 패턴] 3. 관찰자 패턴 (0) | 2023.10.30 |
| [게임 프로그래밍 패턴] 2. 경량 패턴 (0) | 2023.10.27 |