Как правильно использовать прицелы Dagger в проекте MVVM? - PullRequest
0 голосов
/ 03 января 2019

Я создаю простое приложение и хочу использовать в нем Dagger (я новичок в Dagger). Он имеет три слоя: View, ViewModel и Repository.

Естественно, что каждый из классов в этих слоях имеет разные зависимости и разные области действия. Взгляните на этот образец:

class SongsFragment : Fragment() {
    val viewModel: SongsViewModel
}

class SongsViewModel(val songRepository: SongRepository) : ViewModel() {

}

class SongRepository(val songDao: SongDao) {

}
Экземпляр

SongsViewModel должен существовать, пока существует SongsFragment, и экземпляр SongRepository должен существовать, пока существует экземпляр SongsViewModel. (Поправьте меня, если это не очень хорошая практика)

Буду признателен за простой пример того, как использовать модули, компоненты (и, при необходимости, подкомпоненты) и области действия для достижения этой цели.

...