首页 > 解决方案 > Activity 和 Fragments (Android) 中的样板代码是什么?

问题描述

dagger-android 背后的想法是减少注入对象所需的样板。更具体地说,这个想法是减少片段、活动或任何其他由操作系统实例化的 Android 框架类中的样板代码。关联

那么,在这里,当我制作粗体文本时,android 中的样板代码是什么以及 dagger2 如何减少它?

标签: androiddependency-injectiondagger-2

解决方案


我认为你弄错了 Dagger 并不意味着删除样板代码(它在某种程度上确实如此,但它肯定不是为此目的而构建的)。这就是库所服务的,它执行所有繁重的工作,并为我们提供了更简单的方法来实现该功能。

匕首提供的功能是依赖倒置原则,它的D来源SOLID principle。Dagger 是一个依赖注入框架,它负责提供依赖关系,作用域提供了它的注释库,因此它的运行时安全。它维护整个应用程序的依赖关系图,我们在模块中提供依赖关系,并根据需要注入它们。这就是它所做的一切所以是的,现在你不必在 Activity/Fragment 中创建对象,如果你注入它们,如果这就是你所说的样板,那么你将不再需要它。但 IMO 它不是样板。依赖倒置原则 也使得以 TDD 方式编写代码更容易。

如果您不想使用 Dagger,您可以构建自己的 DI 模块,但为什么呢?


推荐阅读