![](https://blog.kakaocdn.net/dn/t263p/btsnF5EMwt7/mxCCqPQw83T6f3ScR1brDK/img.png)
출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015.
[5일차] 싱글턴(Singleton)
생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴
타입스크립트로 설명하는 GoF 디자인 패턴의 생성 패턴 5일만에 끝내기 챌린지
싱글턴이란?
오직 한 개의 클래스 인스턴스만을 갖도록 보장하고,
이에 대한 전역적인 접근점을 제공합니다.
활용성
1) 클래스의 인스턴스가 오직 하나여야 함을 보장하고,
잘 정의된 접근점으로 모든 사용자가 접근 할 수 있도록 해야 할 때
2) 유일한 인스턴스가 서브 클래싱으로 확장 되어야 하며,
사용자는 코드의 수정없이 확장된 서브클래스의 인스턴스를 사용할 수 있어야 할 때
구조 및 구현
class Singleton {
private static uniquInstance: Singleton
private constructor() { }
static instance(): Singleton {
if (!this.uniquInstance) {
this.uniquInstance = new Singleton()
}
return this.uniquInstance
}
}
class Main {
constructor() {
const product1 = Singleton.instance()
const product2 = Singleton.instance()
console.log(product1 === product2) // true
}
}
공식 기술블로그 링크
728x90
'프런트엔드 > 디자인 패턴' 카테고리의 다른 글
[1일차] 어뎁터 | 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴 (0) | 2023.07.16 |
---|---|
[0일차] 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴 (0) | 2023.07.16 |
[4일차] 프로토타입 | 생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴 (0) | 2023.07.16 |
[3일차] 팩토리 메서드 | 생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴 (0) | 2023.07.16 |
[2일차] 빌더 | 생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴 (0) | 2023.07.16 |