동료에게 Singleton을 통한 의존성 주입을 사용하는 것에 대해 들었습니다. 그것들이 서로 대체 될 수있는 두 개의 직교 패턴인지 여전히 알아낼 수 없습니까? 아니면 DI는 Singleton 패턴을 테스트 할 수있는 방법입니까?
다음 코드 스 니펫을 살펴보십시오.
IMathFace obj = Singleton.Instance;
SingletonConsumer singConsumer = new SingletonConsumer(obj);
singConsumer.ConsumerAdd(10,20);
이 SingletonConsumer
유형의 파라미터를 접수한다 IMathFace
. 내부적으로 싱글 톤 클래스에 액세스하는 대신 SingletonConsumer
호출자가 전달한 싱글 톤 인스턴스를 가져옵니다. 이것은 의존성 주입을 통해 싱글 톤 클래스를 소비하는 좋은 예입니까?