处理循环依赖

tro*_*ana 9 java circular-dependency

我想知道是否有人可以建议任何好的方法来打破Java中2个类之间的循环依赖.FindBugs建议使用接口,所以我想知道是否有人对这类问题有任何良好的经验.

jmg*_*jmg 6

不总是避免循环依赖.我会在大的地方避开它们,但要保持在系统的小角落里.在大型,即如果数据访问层和J2EE应用程序循环依赖的表示层,我会说这是一件坏事,因为它意味着一切都必须一次性编译,测试是噩梦.但是,如果列表数据结构及其迭代器类型是循环依赖,则没有问题.

正如Findbugs建议使用接口来打破循环依赖.即,为至少一种类型的圆引入一个接口,并使其他类在任何地方都使用该接口.你需要示例代码吗?