Saya telah mendengar tentang menggunakan injeksi ketergantungan pada Singleton untuk kolega saya. Saya masih tidak bisa melihat apakah itu dua pola ortogonal yang dapat diganti satu sama lain? Atau apakah DI merupakan metode untuk membuat pola Singleton teruji?
Silakan lihat potongan kode berikut.
IMathFace obj = Singleton.Instance;
SingletonConsumer singConsumer = new SingletonConsumer(obj);
singConsumer.ConsumerAdd(10,20);
Ini SingletonConsumer
menerima parameter tipe IMathFace
. Alih-alih mengakses kelas singleton secara internal, SingletonConsumer
akan mendapatkan instance singleton dilewatkan oleh penelepon. Apakah ini contoh yang baik dari mengkonsumsi kelas tunggal melalui injeksi ketergantungan?