※ Singleton Pattern이란?
- Software design pattern 중 하나로 클래스의 인스턴스를 하나로 제한하는 것을 말한다.
- 전역 변수와 비슷하게 하나의 인스턴스를 여러 곳에서 사용할 경우 사용한다.
- Anti pattern으로 유명하다고 한다.(상황에 맞게 쓰도록 하자...)
※ Singleton의 장점
- 여러 개의 인스턴스를 생성 시 가끔 서로 간섭하는 경우가 생기는 데 이를 방지할 수 있다.
- Life Time을 쉽게 조절할 수 있다.
- 같은 인스턴스를 계속해서 참조하므로 객체 수를 줄일 수 있어, 메모리 공간이 절약된다.
- 객체 생성이 줄어듬에 따라 코드도 짧아져 코드의 가독성을 높일 수 있다.
※ Singleton의 단점
- 전역 변수와 같이 사용되므로 응집력을 해친다.
- 초기화 순서를 파악하기 어렵다.
- 단위 테스트가 불가능하다.
'Programming Note > etc' 카테고리의 다른 글
[etc] Eclipse 검색 관련 단축키 (0) | 2017.12.13 |
---|---|
[etc] 마이크로소프트 코딩 규칙 (0) | 2017.10.20 |
[etc] OSI 모형(OSI 7 Layer) (0) | 2017.04.18 |
Abstract class 와 Interface (extends, implements) (0) | 2017.03.17 |
[etc]Thread(Critical Section, Mutex, Semaphore) (0) | 2017.03.12 |