提供者递归问题

时间:2011-03-01 13:51:29

标签: java recursion factory guice provider

所以,我有一个类Bar应该包含Bars的工厂。

class Bar {
    Collection<Bar> children;
    Bar(BarFactory factory, Foo1 foo, Foo2 foo2){

    }
    addChild(Foo1 foo1){
         children.add(factory.create(foo1));
    }
}
class BarFactory {
    Bar create(Foo1 foo1);
}

描述BarFactory的问题。存在具有来自其他对象的依赖性的特定逻辑。我试过使用@Provides机制,比如

@Provides
BarFactory provideLogicElementPresenterFactory(Dependence d){
    final BarFactory f = new BarFactory(){  
        @Override
        public Bar create(Foo1 foo1) {
            Foo2 foo2 = null;//some logic
            return new Bar(/*how pass factory here?*/f, foo1, foo2);
        }
    };
    return f;
}

如何描述这种递归结构或者有这个问题的替代解决方案?

1 个答案:

答案 0 :(得分:3)

在调用this构造函数时使用f而不是Bar