싱글톤 패턴

고장난 고양이·2022년 7월 5일
0

개발지식

목록 보기
3/25

싱글톤 패턴이란?

싱글톤 패턴은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴입니다. 주로 데이터베이스 연결 모듈에 많이 사용합니다.

최초 한번만 메모리 할당(static)을 하고 그 메모리에 해당하는 인스턴스를 생성하여 반환하는 패턴입니다.
데이터베이스 연결처럼 여러 객체 생성으로인해 다수의 클라이언트가 동시에 설정값이 변경되면 문제가 생기기 때문에 이와 같은 곳에서 사용된다.

장점

  • 메모리 낭비 적음
  • 인스턴스가 전역이라 다른 클래스의 인스턴스들이 데이터 공유하기 쉽다.
  • 두번째 이용시부터 로딩시간이 줄어들어 시간단축

단점

  • TDD를 할때 걸림돌이 됨. 단위테스트는 테스트가 서로 독립적이여야하지만 싱글톤은 같은 객체를 기반으로 구현하는 패턴이기에 '독립적인' 인스턴스를 만들기 어렵다.
  • 모듈간의 결합을 강하게 만들 수 있다는 단점이있음 -> DI로 느슨하게 만들수있음

예제

자바스크립트

자바

profile
개발새발X발일지

0개의 댓글