Я уже некоторое время использую концепцию DI, но теперь я начинаю использовать контейнер внедрения зависимостей (DIC). Хотя для меня одно непонятно.
В моем DIC я храню (например) объект Config и объект Request. Я понимаю, что эти объекты в области запроса (один и тот же экземпляр используется каждый раз, когда вы запрашиваете его у этого контейнера) остаются неизменными. Но это происходит только тогда, когда я снова использую тот же экземпляр DIC.
Как мне пройти DIC вокруг моих классов? Скажите, что я хочу использовать его в своем классе маршрутизатора. Нужно ли передавать его в конструктор моего класса маршрутизатора? Но класс Router создается в другом классе, и этот объект также должен иметь этот объект DIC.
Или я должен создать синглтон этого DIC?