作者:嗳灬到此为止_769_836 | 来源:互联网 | 2023-02-09 23:06
我一直想知道创建自己的@Component.Builder
内部Components
而不是使用默认内部有什么好处?文档没有对它们说太多,也没有找到任何合理的例子.有人可以分享一些想法吗?
1> Jeff Bowman ..:
一些优点:
正如Jeremy在评论中指出的那样,如果你想使用,你需要一个明确的界面@BindsInstance
.
显式接口允许您任意命名Module方法,或者将每个方法的Javadoc添加到构建器方法中.如果您的Module实例是可选的或者需要手动创建它们,这可能会特别方便.
某些IDE和工具在代码生成的接口上表现不佳.显式构建器允许您定义自己的工具可读接口,让Dagger稍后生成实现.
显式接口可以更容易在单元测试中模拟组件构建器.对于子组件构建器来说,这可能特别方便,它们遵循与组件构建器相同的规则.