프로그램 내에서 오직 하나만 존재해야만 하는 공용 객체에 대한 해결방법. (내용에 대해서는 Gof/Singleton 참조)
SingletonPattern 은 남용할 경우 위험하다. 여전히 Global object 이기 때문이다. 즉, Singleton 을 이용하는 모든 모듈은 Singleton Object 와 관계를 맺고 있는 것이 된다.
적절한 상속관계와 오브젝트를 인자로 넘겨주는 방법으로 Singleton 의 남용을 적절하게 줄일 수 있는 경우가 많다.
이전에 ProjectZephyrus 를 프로그래밍할때 느낀점이라면, 초반에 디자인을 할 때 일수록 Singleton 을 쓸 생각을 하지 않는것이 좋겠다는 점이다. 초반에 디자인을 할때엔 (특히 Conceptual Model 단계정도만 생각하고 프로그래밍에 들어가는 사람의 경우) 어떠한 클래스건 대부분이 인스턴스가 한개이다. 그렇다고 이 모든 것들을 글로벌 객체로 만들어내는 것은 그리 좋지 않다. --1002
패턴중 가장 구현이 간단하다 보니 '패턴의 전형적 예'로 나오는 것중 하나인것 같기도 하다. 하지만, 실제 프로그래밍할때 '전형적'으로 쓸 녀석은 아닌듯 하다. --1002
디자인분류