※ Singleton Pattern이란?

    • Software design pattern 중 하나로 클래스의 인스턴스를 하나로 제한하는 것을 말한다.
    • 전역 변수와 비슷하게 하나의 인스턴스를 여러 곳에서 사용할 경우 사용한다.
    • Anti pattern으로 유명하다고 한다.(상황에 맞게 쓰도록 하자...)

※ Singleton의 장점
    • 여러 개의 인스턴스를 생성 시 가끔 서로 간섭하는 경우가 생기는 데 이를 방지할 수 있다.
    • Life Time을 쉽게 조절할 수 있다.
    • 같은 인스턴스를 계속해서 참조하므로 객체 수를 줄일 수 있어, 메모리 공간이 절약된다.
    • 객체 생성이 줄어듬에 따라 코드도 짧아져 코드의 가독성을 높일 수 있다.

※ Singleton의 단점

    • 전역 변수와 같이 사용되므로 응집력을 해친다.
    • 초기화 순서를 파악하기 어렵다.
    • 단위 테스트가 불가능하다.


+ Recent posts