반응형
Singleton Pattern 이란
최초 단일성을 보장받기 위한 디자인 패턴 입니다.
말을 풀어서 설명을 하면 특정 클래스의 인스턴스를 오직 하나만 유지하고, 동일 클래스에서 새로운 객체를 생성한다 해도 처음 만들어진 객체를 얻습니다.
Singleton 을 사용하면 얻는 이점은
- 인스턴스가 오직 하나만 생성되므로 메모리 성능상 이점이 있습니다.
- 초기 호출만 시간이 걸리고 두번째 호출부터는 객체 로딩 시간이 줄어들어 성능 향상이 있습니다.
- 다른 인스턴스들과 데이터 공유하기가 쉽습니다.
Node js 에서는 caching에 이점을 얻기때문에 Singleton Pattern 을 사용합니다.
Cahed Singleton Example
class CacheManager {
constructor() {
/* CacheManager의 인스턴스가 존재하지 않을경우에만 초기화가 된다 */
if (!CacheManager.instance) {
this._cache = []
CacheManager.instance = this
}
return CacheManager.instance
}
}
const instance = new CacheManager()
Object.freeze(instance)
반응형
'개발이야기 > Node.js' 카테고리의 다른 글
macOS 에서 docker 로 redis 설치후 node.js 로 연동해기 (0) | 2021.04.18 |
---|---|
Static Factory Method Pattern (0) | 2021.04.13 |
Promise.all 과 Promise.race (0) | 2021.04.11 |
File_System (0) | 2021.04.11 |
Node TDD 라이브러리 Mocha (0) | 2021.03.28 |