2011-03-01 57 views
0

那么,我应该包含应该包含Bars的工厂的类Bar提供商递归问题

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; 
} 

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

回答

3

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

+1

是的。我一定要去睡觉)非常感谢。 – 2011-03-01 13:56:53

+0

绝对没问题:) – 2011-03-01 14:06:07