İş arkadaşım için Singleton'a bağımlılık enjeksiyonunu kullanmayı duydum. Birbirleri ile değiştirilebilen iki dikey kalıp olup olmadığını hala anlayamıyorum? Yoksa DI, Singleton modelini test edilebilir hale getirmek için bir yöntem midir?
Lütfen aşağıdaki kod snippet'ine bir göz atın.
IMathFace obj = Singleton.Instance;
SingletonConsumer singConsumer = new SingletonConsumer(obj);
singConsumer.ConsumerAdd(10,20);
The SingletonConsumer
türünde bir parametre kabul ediyor IMathFace
. Singleton sınıfına dahili olarak erişmek yerine SingletonConsumer
, arayan tarafından iletilen singleton örneğini alırsınız. Bağımlılık enjeksiyonu yoluyla singleton sınıfı tüketmenin iyi bir örneği mi?