Programming Note/etc
Singleton Pattern이란?
Skypotato(하늘감자)
2017. 5. 5. 15:45
※ Singleton Pattern이란?
- Software design pattern 중 하나로 클래스의 인스턴스를 하나로 제한하는 것을 말한다.
- 전역 변수와 비슷하게 하나의 인스턴스를 여러 곳에서 사용할 경우 사용한다.
- Anti pattern으로 유명하다고 한다.(상황에 맞게 쓰도록 하자...)
※ Singleton의 장점
- 여러 개의 인스턴스를 생성 시 가끔 서로 간섭하는 경우가 생기는 데 이를 방지할 수 있다.
- Life Time을 쉽게 조절할 수 있다.
- 같은 인스턴스를 계속해서 참조하므로 객체 수를 줄일 수 있어, 메모리 공간이 절약된다.
- 객체 생성이 줄어듬에 따라 코드도 짧아져 코드의 가독성을 높일 수 있다.
※ Singleton의 단점
- 전역 변수와 같이 사용되므로 응집력을 해친다.
- 초기화 순서를 파악하기 어렵다.
- 단위 테스트가 불가능하다.