java设计中的循环依赖
如何防止循环依赖,任何设计模式??,否则会导致堆栈溢出。 我被要求重新设计这个java设计中的循环依赖,java,design-patterns,stack-overflow,circular-dependency,Java,Design Patterns,Stack Overflow,Circular Dependency,如何防止循环依赖,任何设计模式??,否则会导致堆栈溢出。 我被要求重新设计这个 class A { static void method(){ B.method(); } public static void main(String args[]){ method(); } } class B { static void method(){ A.method(); } } 这不仅仅是循环依赖,
class A {
static void method(){
B.method();
}
public static void main(String args[]){
method();
}
}
class B {
static void method(){
A.method();
}
}
这不仅仅是循环依赖,这是一种无限依赖 您必须在
A.method()
或B.method()
中定义退出分支,例如:
class B{
static void method(){
if (someCondition) {
return;
}
A.method();
}
}
someCondition
是基于使用此递归解决的业务问题计算的(您知道它是什么)。在其当前状态下,这是一个遗嘱,因为没有定义基本情况
您需要使用条件语句定义至少一个方法,以使其在某个状态后中断
static void method(condition){
A.method();
}
这是一个类似于递归的情况,必须有一些条件来打破这个调用循环