Как ленивый груз с Dependency Injection Container? - PullRequest
3 голосов
/ 10 января 2012

Я новичок в Dependency Injection Containers и т. П.

У меня есть объект User, который я хотел бы построить с помощью контейнера.В моем случае у пользователя могут быть тонны объектов Comment, связанных с ним, но мне они не понадобятся при каждом запросе.

Раньше у меня была бы модель User, создающая и загружающая комментарий.моделирует сам, но я понимаю, что это плохая практика.

Если я не хочу загружать все комментарии при создании пользователя (например, - если я хочу лениво загружать комментарии), как это сделать?Я достигаю этого с помощью DI и DIC?

ПРИМЕЧАНИЕ. Я знаю, что есть встроенные решения, но я не хочу их использовать, пока не пойму, как они работают.Это теоретический вопрос для изучения основ, и тогда я, скорее всего, переключусь на устоявшуюся структуру.

1 Ответ

5 голосов
/ 10 января 2012

Я не думаю, что загрузка зависимостей в ваших моделях является обязанностью контейнера внедрения зависимостей.Это работа ORM, объектов доступа к данным или ваших прикладных служб.Контейнер DI отвечает за настройку и создание экземпляров классов ORM, DAO или служб.

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