Słyszałem o zastosowaniu zastrzyku zależności od Singletona dla mojego kolegi. Nadal nie mogę zrozumieć, czy są to dwa ortogonalne wzory, które można ze sobą zastąpić? A może DI jest metodą na przetestowanie wzorca Singleton?
Proszę spojrzeć na następujący fragment kodu.
IMathFace obj = Singleton.Instance;
SingletonConsumer singConsumer = new SingletonConsumer(obj);
singConsumer.ConsumerAdd(10,20);
SingletonConsumer
Przyjmuje parametr typu IMathFace
. Zamiast wewnętrznego dostępu do klasy singleton, SingletonConsumer
wywoływana jest instancja singleton przekazywana przez program wywołujący. Czy to dobry przykład spożywania klasy singleton poprzez wstrzykiwanie zależności?