20

在对我的项目进行声纳分析后,我在 7 个轴之一(参见第二张图片)上有以下数据。可以从这些数据中解码出哪些信息?此外,这些数据与下图中的哪个轴有关?

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

34

这意味着包和文件之间存在循环依赖关系。

理想情况下,您希望依赖项朝一个方向流动——这允许您进行更改并预测其影响。例如,如果您的“用户界面”包依赖于“业务逻辑”包,但没有任何东西依赖于“用户界面”包,那么您应该能够在不破坏该包之外的任何内容的情况下更改用户界面。循环依赖意味着(例如)用户界面包依赖于业务逻辑包,但业务逻辑包也依赖于用户界面包。现在如果你改变用户界面,你可能会破坏业务逻辑层——这反过来可能会影响用户界面中完全不相关的东西。

“分层”软件的想法,以及在层之间以单一方向流动的依赖关系旨在消除这种纠结。

您通常可以通过将类从一个包移动到另一个包来减少这种纠结。

缠结通常是架构/设计问题。

于 2013-03-10T11:50:30.277 回答