Ho sentito parlare dell'utilizzo dell'iniezione di dipendenza su Singleton per il mio collega. Non riesco ancora a capire se si tratta di due schemi ortogonali che possono essere sostituiti l'uno con l'altro? O è DI un metodo per rendere testabile il pattern Singleton?
Dai un'occhiata al seguente frammento di codice.
IMathFace obj = Singleton.Instance;
SingletonConsumer singConsumer = new SingletonConsumer(obj);
singConsumer.ConsumerAdd(10,20);
Il SingletonConsumer
accetta un parametro di tipo IMathFace
. Invece di accedere internamente alla classe singleton, SingletonConsumer
otterrà l'istanza singleton passata dal chiamante. Questo è un buon esempio del consumo di una classe singleton tramite l'integrazione delle dipendenze?