Я чула про використання ін'єкції залежності від Singleton для свого колеги. Я досі не можу зрозуміти, чи це два ортогональні візерунки, які можна замінити один на одного? Або DI це метод зробити шаблон Singleton перевіряючим?
Погляньте на наступний фрагмент коду.
IMathFace obj = Singleton.Instance;
SingletonConsumer singConsumer = new SingletonConsumer(obj);
singConsumer.ConsumerAdd(10,20);
Параметр типу SingletonConsumer
- це прийняття IMathFace
. Замість доступу до класу синглтон внутрішньо, SingletonConsumer
отримає одиночний екземпляр, переданий абонентом. Це хороший приклад споживання однокласного класу через ін'єкцію залежності?