2010-02-26 2 views
0

가능한 중복 : Problems with Singleton Pattern싱글 톤 패턴에 단점이 있습니까?


What is so bad about Singletons
는 싱글 톤 패턴에 어떤 단점이 있습니까? 나는 이것이 인터뷰 질문이라고 들었는데 나는 의미가 무엇인지에 관해 짧게 생각하고있다.

IMHO, 그것은 패턴 자체의 사용 및 아무것도에 관하여 것은 매우 일반적인 질문입니다

+1

여기에 http://stackoverflow.com/questions/137975/what-is-so-bad-about-singletons – Roman

+3

패턴에 문제가 없습니다. 그러나 그것이 적절하지 않을 때 가장 오용되는 패턴 일 것입니다. –

+0

중복 가능성 있음 http://stackoverflow.com/questions/1448393/singleton-design-pattern-pitfalls 및 http://stackoverflow.com/questions/1392315/problems-with-singleton-pattern – t0mm13b

답변

1

Wikipedia에서 ... 하드

  • 서브 클래스
  • 허용하지 않는 종속 클래스를 찾기 어려운 :

    일부 고려해보세요. 이 남용되는 것을 판단 안티 패턴, 는 는 클래스의 유일한 인스턴스가 실제로 필요하지 않습니다 상황에서 불필요한 제한을 소개하고 는 응용 프로그램에 글로벌 상태를 소개합니다.

    개인적으로, 스프링을 사용하여 응용 프로그램을 자동으로 시작 했으므로 싱글 톤을 쓸 필요가 없었습니다.

  • 1

    문제가, 정말 당신의 사용 사례에 따라 달라집니다.

    • 어떤 경우에는 문제가 될 수있는 초기 getInstance() 호출을 보호하기 위해 항상 뮤텍스 (또는 동기화 된 블록)가 필요합니다.
    • 글로벌 변수를 생성한다는 사실을 숨기려면 해킹이 필요하며, 글로벌 변수는 이고 일반적으로이 좋지 않습니다. 그러나 그들이 가져다주는 단순함이 상당 할 수도 있지만 남용하지 않도록주의하십시오.