我一直在我的 Java 项目上运行一些指标,显然包之间存在很多依赖循环。我真的不知道如何将东西组织成包,所以我只是做了对我有意义的事情,这显然是错误的。
我的项目是一个神经网络框架。神经网络具有神经元,它们通过连接相互连接。他们需要相互依赖。但是,也有不同类型的神经元,所以我认为将它们都放在自己的“神经元”包中是个好主意。显然,连接不是神经元,所以它不应该在包中,但由于它们相互引用,我现在有一个循环依赖。
这只是一个例子,但我还有更多这样的情况。你如何处理这些情况?
另外,我读到包层次结构中较高的包中的类不应该引用更深的包中的类。这意味着包“nn”中的 NeuralNetwork 类不能引用包“nn.neurons”中的神经元。你们遵守这个原则吗?如果我将 NeuralNetwork 移动到 'nn.networks' 或其他什么?在这种情况下,它将引用同级包而不是子包。这是更好的做法吗?