gpt4 book ai didi

java - 解决java中的循环依赖

转载 作者:行者123 更新时间:2023-11-29 04:57:19 24 4
gpt4 key购买 nike

我有三个类,例如,ABC。基本思想是,类 A 将消息传递给 B 并等待,基于该消息 B 将消息传递给 C 。最后,在 C 处理消息后,它通知 A 继续执行它的功能。现在这形成了一个圆圈。为了减少依赖性,我让类 A 通过 CB 通信,即 C 有一个方法将 A 的消息传递给 B。这种方法的问题是它将 B 的接口(interface)暴露给 A,这是我不希望发生的。我的问题是,解决这个问题的最佳方法是什么。

为了提供更多背景信息,我正在研究语音识别系统。我从 2 个类开始,一个用于获取识别结果 (A),另一个用于处理结果。后来我不得不把处理结果的类分成两个,一个做一些预处理(B),比如检查结果有多好,另一个处理结果( C)

最佳答案

控制反转

class Controller {
A a;
B b;
C c;

private void injectControll() {
a.registerListener(b); // a.passTo(b);
b.registerListener(c);
c.registerListener(a);
}

关于java - 解决java中的循环依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33305425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com