Сколько контейнеров для инъекций зависимости я должен создать? - PullRequest
1 голос
/ 11 января 2012

У меня есть всевозможные модели, и у многих из них есть хотя бы одна зависимость (обычно это адаптер Db). Я только сейчас вхожу в идею DIC или IoC, и я пытаюсь обдумать, что нужно - все примеры обычно показывают простое создание одного объекта с контейнером.

Если у меня много пользовательских моделей, много моделей блогов и всевозможных других, как мне управлять этим? Является ли общепринятым иметь один большой контейнер, много разных меньших или даже одну заводскую модель PER?

Или я уже неправильно об этом думаю?

ПРИМЕЧАНИЕ. Как указано ниже, по модели я считаю я имею в виду «модель предметной области». Точнее, классы, которые помогают мне управлять данными, относящимися к моему веб-сайту / приложению, например, пользователи, блоги и т. Д.

1 Ответ

3 голосов
/ 11 января 2012

Обычно достаточно одного контейнера для вашего приложения. Существует концепция под названием Composition Root , которая описывает, как правильно использовать DI-контейнер.

Классы бизнес-моделей, такие как пользователи, блоги и т. Д., Обычно не извлекаются из контейнера. Вы предоставляете назначенные фабрики, которые, в свою очередь, могут быть внедрены в те классы, которые необходимы для создания объектов модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...