Выше смотри, вы обсуждаете конфликты которые возникают от нескольких контейнеров. То есть сам факт существования такой конфигурации уже вносит сложности.
Не в этом проблема. Проблема в хранении дто в контейнере.
А контейнер модульный нужен, чтобы можно было подключать модули и делегировать получение зависимостей из других контейнеров:
RootContainer: Logger
ModuleAContainer: Cache => MemCache
И в классах модуля А понятно, что кеш будет обязательно в памяти, а логгер пусть с уровня приложения подтянется. Так же любые определения можно "локализовать", если оно того требует. Без алиасов и копи-пасты конфига модуля в конфиг приложения.
ну это получается уже стейт в контейнере хранить. в одном месте вызвать и наполнить данными, а вдругом - исползовать. магия…
Вот то то и оно. Если мы будем иметь один плоский контейнер, то нельзя туда будет положить ни реквест ни респонс. А при этом разные штуки могут эти реквесты,респонсы,формы и чего там ещё, языковые настройки,... запрашивать
А контейнер модульный нужен, чтобы можно было подключать модули и делегировать получение зависимостей из других контейнеров:
RootContainer: Logger
ModuleAContainer: Cache => MemCache
И в классах модуля А понятно, что кеш будет обязательно в памяти, а логгер пусть с уровня приложения подтянется. Так же любые определения можно "локализовать", если оно того требует. Без алиасов и копи-пасты конфига модуля в конфиг приложения.
Угу, добавить свой контейнер из модуля и забить на сервис провайдеры это было бы вообще топ для некоторых вопросов
Вот то то и оно. Если мы будем иметь один плоский контейнер, то нельзя туда будет положить ни реквест ни респонс. А при этом разные штуки могут эти реквесты,респонсы,формы и чего там ещё, языковые настройки,... запрашивать
ну для этого можно будет отдельные сервисы создавать: RequestStack, UnitOfWork etc. вполне себе имеют стейт