dagger-2 – 如何在仍然使用Dagger2的同时解决循环依赖?

我有两个类,Foo< T>和酒吧,彼此依赖,以及其他各种类别.我使用Dagger-2进行依赖注入,但是如果我天真地添加循环依赖,Dagger会在运行时遇到堆栈溢出.什么是重构类来解决这个问题的好方法,同时仍然使用Dagger注入所有其他依赖项,并且对现有调用的重复和更改最少?
简单的方法是使用Lazy< T>.在一边.
Lazy<Foo> foo;

Bar(Lazy<Foo> foo) {
    this.foo = foo;
}

// use foo.get(); when needed

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...