【发布时间】:2020-01-21 06:29:51
【问题描述】:
我正在学习使用 MVVM 架构的 Dagger2。我有一个问题,我正在阅读一些文件和观看视频。
我知道我们可以为单例模式和我们将在整个应用程序中使用的其他一些东西减少大量样板代码。
我正在开发一个用于学习目的的应用程序,我正在使用 MVVM 和 Dagger2。 我的问题是:对于注入视图模型提供程序,我们需要编写太多样板代码来注入视图模型提供程序,并且它仅适用于该活动生命周期。我们可以通过简单的代码来实现这一点。为什么要使用 Dagger2 实际用途是什么?我搜索了它,没有发现任何有用的东西。
这是我使用 dagger2 的代码:
@Inject
ViewModelProviderFactory providerFactory;
viewModel = ViewModelProviders.of(this,providerFactory).get(AuthViewModel.class);
要注入 ViewModelProviderFactory,我需要编写一些样板代码。
这是我没有 dagger2 的代码:
mMainActivityViewModel = ViewModelProviders.of(this).get(MainActivityViewModel.class);
两者都达到了目的,但我没有得到最好的,为什么?
【问题讨论】:
标签: android dagger-2 android-lifecycle android-mvvm