2012-09-17 7 views
2

싱글턴은 안티 패턴인가요? 그렇다면 스프링의 의존성 삽입 (Dependency Injection in Spring) 또한 안티 패턴 (Spring이 디폴트 인 Singleton Bean을 홍보하기 때문에)?싱글 톤은 안티 패턴인가요?

+0

이 질문은 programmers.stackexchange.com에 더 적합 할 수 있습니다. – Heinzi

+1

사실, 프로그래머에 관한 [이미 이것에 관한 질문] (http://programmers.stackexchange.com/questions/40373/so-singletons-are-bad-then-what)이 있습니다 .stackexchange.com. – krock

답변

5

싱글 톤을 하드 코딩하고 싱글 톤 빈을 생성하기 위해 스프링을 사용하는 것의 중요한 차이점이 있습니다. 후자는 단순한 구성입니다.

같은 스프링은 테스트 가능성을 방지하지 못합니다. 빈이 싱글 톤으로 사용되는 단일 사용 사례입니다. 동일한 스프링을 테스트에서 수동으로 인스턴스화하거나 동일한 인터페이스의 조롱 된 구현으로 대체하여 쉽게 사용할 수 있습니다.

클래스를 싱글 톤으로 코딩하면 다시 쓰지 않고 쉽게 대체 할 수 없습니다. 테스트는 대체하려는 경우가 하나 일뿐입니다. 이 빈의 두 개의 다른 인스턴스가 필요하다는 것을 알게되면 하드 코딩 된 싱글 톤을 사용해야합니다.

3

싱글 톤 패턴은 안티 패턴이 아니므로 객체 수를 으로 제한하는 것이 좋습니다.

그러나 글로벌 인스턴스를 제공하기 위해 싱글 톤을 악용하는 것은 안티 패턴입니다.

귀하의 질문의 봄 부분은 요아킴 사우어 대답을 참조하십시오.

관련 문제