Я пытаюсь понять DI. Поскольку я не пишу модульные тесты (пока), самым большим преимуществом для меня является разделение классов и управление / контроль зависимостей.
Но есть один вопрос: что, если у меня есть класс A (контроллер), который создает экземпляр класса B (слушатель), а класс B - при определенных обстоятельствах - создает экземпляр класса C (отправитель)?
Согласно принципу DI, я должен создать C и передать его B. Что если мне не нужен C во время запроса? Должен ли я сначала создать какую-то логику для внедрения зависимостей?