[CS] 싱글톤 패턴

한결·2023년 10월 24일
0

CS

목록 보기
32/34

싱글톤 패턴

싱글톤 패턴은 객체를 딱 한 번만 생성하도록 보장하는 디자인 패턴

  • 전역 변수를 사용하여 객체를 저장하고 다른 객체들이 그 객체를 공유

장점

  • 공통적인 리소스나 데이터에 대한 중복 생성 및 관리를 방지
  • 객체 생성 비용과 자원 소모를 최소화
  • 객체 간의 의존성 관리가 용이

주의

  • 다수의 클라이언트가 해당 인스턴스에 접근하고 수정할 수 있기 때문에 상태변화를 조심스럽게 관리해야함
  • 멀티 스레드 환경에서 동시성 문제가 발생
  • 초기화 과정이 복잡하거나 오래 걸리는 경우에는 애플리케이션의 시작 속도가 느려질 수 있음
    • 이러한 경우에는 지연 초기화(lazy initialization) 기법을 적용하거나, 필요한 시점에 초기화하는 방법을 사용할 수 있음

Spring과 싱글톤

  • 스프링 컨테이너는 곧 싱글톤 컨테이너로써 동작
  • 객체가 딱 1개만 생성되고 공유하도록 설계
  • 스프링 컨테이너에 특정 Bean 객체 하나가 등록되면, 더 이상 중복되서 여러개가 등록되지 않음

0개의 댓글