我有三個類,比如A
,B
和C
。基本思想是,類A
將消息傳遞給B
,並等待,根據該消息B
將消息傳遞給C
。最後,在C
處理該消息之後,它通知A
繼續其功能。現在這形成了圈子。爲了減少依賴關係,我使類A
與B
到C
通信,即C
有一個方法將A
的消息傳遞給B
。這種方法的問題是它暴露了B
到A
的接口,我不想發生這種情況。我的問題是,解決這個問題的最好方法是什麼?解決java中的循環依賴關係
爲了給出更多的上下文,我正在研究語音識別系統。我從2個班級開始,一個獲得識別結果(A
)另一個來處理結果。後來我不得不打破這一處理結果兩個階級,一個做一些預處理(B
),如檢查結果如何好,另一個處理結果(C
)
如果我使用單例類,這會工作嗎? –
類似於'A.getInstance()。registerListener(B.getInstance());'或其他。當然。 –
這三者現在都依賴於消息抽象,例如聽衆或觀察者,這三者都實現。這也是間接的。 – Fuhrmanator