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