Ho sentito parlare dell'utilizzo dell'iniezione di dipendenza su Singleton per il mio collega. Non riesco ancora a capire se sono due schemi ortogonali che possono essere sostituiti tra loro? O DI è un metodo per rendere testabile il modello Singleton?
Dai un'occhiata al seguente frammento di codice.
IMathFace obj = Singleton.Instance;
SingletonConsumer singConsumer = new SingletonConsumer(obj);
singConsumer.ConsumerAdd(10,20);
Il SingletonConsumerè accettare un parametro di tipo IMathFace. Invece di accedere internamente alla classe singleton, SingletonConsumerriceverà l'istanza singleton dal chiamante. È un buon esempio di consumo della classe singleton tramite l'iniezione delle dipendenze?