我正在创建一个简单的应用程序,并且想在其中使用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
实例。 (如果不好的话,请纠正我)
我将欣赏一个简单的示例,说明如何使用模块,组件(必要时包括子组件)和范围来实现此目标。