2011-03-01 82 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