Ich habe gehört, dass ich die Abhängigkeitsinjektion über Singleton für meinen Kollegen verwendet habe. Ich kann immer noch nicht erkennen, ob es sich um zwei orthogonale Muster handelt, die gegeneinander ausgetauscht werden können. Oder ist DI eine Methode, um das Singleton-Muster testbar zu machen?
Bitte schauen Sie sich das folgende Code-Snippet an.
IMathFace obj = Singleton.Instance;
SingletonConsumer singConsumer = new SingletonConsumer(obj);
singConsumer.ConsumerAdd(10,20);
Der SingletonConsumer
akzeptiert einen Parameter vom Typ IMathFace
. Anstatt intern auf die Singleton-Klasse zuzugreifen, SingletonConsumer
wird die Singleton-Instanz vom Aufrufer übergeben. Ist dies ein gutes Beispiel für die Verwendung von Singleton-Klassen über die Abhängigkeitsinjektion?