擅长:python、mysql、java
<p>循环依赖是一种代码味道。如果有两个互相依赖的模块,那么这是一个非常糟糕的信号,您应该重新构造代码。在</p>
<p>有几种不同的方法可以做到这一点;哪种方法最好取决于您正在做什么,以及每个模块的哪些部分实际被另一个模块使用。在</p>
<ul>
<li>一个非常简单的解决方案是只合并两个模块,因此只有一个模块依赖于它自己,或者更确切地说,它自己的内容。这很简单,但是由于您以前有过分离的模块,因此很可能是因为您不再有关注点的分离而引入了新的问题。在</li>
<li>另一个解决方案是确保依赖关系实际上是必需的。如果一个模块只有几个部分依赖于另一个模块,那么您可以移动这些位,使循环依赖不再是必需的,或者{a1}使循环依赖不再成为问题。在</li>
<li>更好的解决方案可能是将依赖项移到一个单独的新模块中。如果命名真的是这方面最困难的问题,那么你可能做得对。这可能会“破坏[你的]程序的组织”</em>,但由于你有循环依赖关系,你的设置本身就有问题。在</li>
</ul>