Singleton Pattern

Ahyeon, Jung·2024년 2월 18일
0
post-custom-banner

Singleton Pattern

어떤 클래스가 단 하나의 인스턴스만을 가지도록 보장하며, 이 인스턴스에 접근할 수 있는 전역적인 접근점을 제공하는 디자인 패턴
어떤 클래스에 대해 하나의 인스턴스만 필요할 때 유용

Private Constructor

클래스의 생성자를 private으로 만들어 외부에서 직접 객체를 생성하는 것을 막음

Static Instance

클래스 내부에서 유일한 인스턴스를 생성하고, 이에 접근할 수 있는 정적 메서드나 속성을 제공

Lazy Initialization(지연 초기화)

인스턴스가 필요한 시점에 생성

헤드퍼스트 디자인 패턴

스레드 풀, 캐시, 대화상자, 사용자 설정, 레지스트리 설정을 처리하는 객체, 로그 기록용 객체, 디바이스 드라이버 등 객체를 사용할 때 인스턴스가 2개 이상이면 오류가 나는 경우, 싱글톤 패턴을 통해 인스턴스를 하나만 생성

전역 변수를 사용할 때와 마찬가지로 객체 인스턴스를 어디서든지 엑세스할 수 있게 만들 수 있으며, 전역 변수를 쓸 때처럼 여러 단점을 감수할 필요도 없음

자바스크립트의 싱글톤 패턴

class Singleton {
  constructor() {
    ...
  }

  static instance = null;

  static getInstance() {
    if (!Singleton.instance) {
      Singleton.instance = new Singleton();
    }
    return Singleton.instance;
  }

}

const singleton1 = Singleton.getInstance();
const singleton2 = Singleton.getInstance();

console.log(singleton1 === singleton2); // true
profile
https://a-honey.tistory.com/
post-custom-banner

0개의 댓글