테스트 힘들고, 구현체 치환을 통한 확장이 어렵다던가 하는 식의 문제들이 있긴 한데, 그런 요구 조건이 언제나 있는 건 아니니까 (예컨대 테스트를 위해 프록시 목 뜨는 것도 유틸 클래스엔 필요없잖아?) 싱글턴 자체가 안티 패턴이라고 생각은 안한다.
아마도 왜 특정 상황에서 싱글턴이 안좋은지에 대한 글을 많이 봤는데 이유는 이해 못한 애들이 법칙 처럼 외워서 퍼뜨리다 보니 그런 인식이 생긴 듯.
fender(mysticfall)2020-07-26 07:22
생각 없이 쓰는 사람이 문제임.. 그리고 생각없이 남의 말 앵무새처럼 따라 하는 사람도..
츄럴(121.175)2020-07-26 10:00
싱글톤은 메모리 감소에 효과적임. 안티 패턴이라는 얘기는 왜 나오는지 모르겠네. 싱글톤의 간단한 예로 어플을 1번만 실행시키도록 하는 예가 있음. 예를 들자면 데몬같은게 예가 될 수 있고, 응용 어플도 싱글톤 방식으로 만들면 중복 실행되지 않아 좋은 경우 있음.
루비(118.216)2020-07-26 21:41
그외 사전 파일을 로딩한다고 할 때, 1번만 로딩되도록 하는 방법도 싱글톤이라 볼 수 있음.
싱글턴은 걍 하다보면 나오는 거 패턴이라 하기도 뭐한거 같은데..
아직안자십니까...코딩함?
않여 인터넷 보면서 인생 낭비하는 중
그냥 테스트짜기 귀찮음
쓰다보니 나중에 수정을 못하겠어 - dc App
그건 유틸클래스, 모듈들 모두에 해당하는 단점이잖어ㅋㅋ
역시 테스트 작성이 힘든게 가장 큰듯 - dc App
테스트 힘들고, 구현체 치환을 통한 확장이 어렵다던가 하는 식의 문제들이 있긴 한데, 그런 요구 조건이 언제나 있는 건 아니니까 (예컨대 테스트를 위해 프록시 목 뜨는 것도 유틸 클래스엔 필요없잖아?) 싱글턴 자체가 안티 패턴이라고 생각은 안한다. 아마도 왜 특정 상황에서 싱글턴이 안좋은지에 대한 글을 많이 봤는데 이유는 이해 못한 애들이 법칙 처럼 외워서 퍼뜨리다 보니 그런 인식이 생긴 듯.
생각 없이 쓰는 사람이 문제임.. 그리고 생각없이 남의 말 앵무새처럼 따라 하는 사람도..
싱글톤은 메모리 감소에 효과적임. 안티 패턴이라는 얘기는 왜 나오는지 모르겠네. 싱글톤의 간단한 예로 어플을 1번만 실행시키도록 하는 예가 있음. 예를 들자면 데몬같은게 예가 될 수 있고, 응용 어플도 싱글톤 방식으로 만들면 중복 실행되지 않아 좋은 경우 있음.
그외 사전 파일을 로딩한다고 할 때, 1번만 로딩되도록 하는 방법도 싱글톤이라 볼 수 있음.