一般来说,是否应该努力将类的依赖项与其导入对齐?
例如,通常应该避免做这样的事情:
Bar.java:
import com.somepackage.Foo;
import com.somepackage.Baz;
public Bar(Foo foo) {...}
public void doSomething(Baz baz) {...}
Baz.java:
import com.somepackage.Bar;
public Baz(Bar bar) {...}
//etc...
基本上,Bar.java导入/使用/使用将其作为依赖项的东西,这似乎很奇怪。 虽然,我不确定使用 dependents 的类是否必然构成某种气味(即,编译时依赖项不符合运行时依赖性,暗示可能应该进行一些重构...)
答案 0 :(得分:0)
我认为这是一种设计气味。你能提取一个解决循环依赖的第三个类吗?依赖的一个方向是否应该与接口解耦?
如果没有关于类如何相互依赖的细节,将很难更具体。
答案 1 :(得分:-1)