Должны ли мы передать введенный объект в другой класс - PullRequest
0 голосов
/ 14 июня 2019

Я просто играю в Dagger2 для реализации DI в Android.

Мой вопрос не о проблеме, с которой я сталкиваюсь, а о приобретении знаний.

Я намереваюсь добавить класс в свою активность и хочу передать его моему классу ViewModel. Это хороший подход, чтобы следовать передовым методам в инъекции зависимости? Возникнет ли какая-либо проблема, связанная с утечкой или производительностью.

1 Ответ

1 голос
/ 14 июня 2019

Нет, это не так.Вы должны использовать scope и сделать возможным внедрение внутри своего ViewModel.

. То, что вы пытаетесь сделать, противоречит идее внедрения зависимости.Библиотеки внедрения зависимостей создают дерево зависимостей на основе вашего Models, а затем позволяют использовать это дерево в вашем приложении.

  • Если вы каждый раз инициализируете каждый раз, вы не знаете, каково текущее состояние вашего объекта.
  • В большинстве случаев вам нужен один экземпляр в некоторой области видимости, например, внутридействия или фрагменты ... эта проблема может быть решена с помощью Dagger2 easy

Область действия гарантирует, что у вас есть только один экземпляр в данной области действия.

...