gpt4 book ai didi

android - Java 的 Dagger 中的 addTo 和 includes 有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:00 25 4
gpt4 key购买 nike

我不确定有什么区别?我什么时候应该使用哪个?

http://square.github.io/dagger/javadoc/index.html

最佳答案

includes表示当前模块由哪些模块组成。例如,它对于静态聚合所有模块很有用:

@Module(
includes = { AndroidModule.class, NetworkModule.class, StorageModule.class }
)
public class RootModule() {
}

// other file
objectGraph = ObjectGraph.create(new RootModule());

而不是动态地:

objectGraph = ObjectGraph.create(
new AndroidModule(),
new NetworkModule(),
new StorageModule());

因此,充分利用编译时间图验证。

addsTo 具体涉及父子模块的关系。它表示该模块是某个模块的扩展,用作 .plus() 参数。例如。有两个模块:

@Module(
//...
)
public class ParentModule() {
//...
}

@Module(
addsTo = { ParentModule.class },
//...
)
public class ChildModule () {
//...
}

这个配置意味着在 parentGraph = ObjectGraph.create(new ParentModule()); 之后你可以在某处执行 childGraph = parentGraph.plus(new ChildModule());在您的代码中创建扩展的、通常是短暂的子图。

关于android - Java 的 Dagger 中的 addTo 和 includes 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27726273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com