2

IE。我有一个 GUI 包和一个 Logic 包。

如何防止逻辑类导入 GUI 类?从事同一项目的其他人(或我自己)可能会这样做,我想阻止这种情况。

例如,解决方案可以是 JUnit 中的检查,如果完成则失败,或者运行时检查会引发异常。沿着这些思路,但是怎么做呢?

4

3 回答 3

1

您可以使用 JDepend 或 DependencyFinder 或Degraph编写这样的测试。

Degraph 是三个工具中唯一一个明确旨在为此类案例实际编写测试的工具。此外,AFAIK JDepend 没有在最近的 Java 版本中找到所有依赖项(如注释中提到的类)。

我是 Degraph 的作者,所以我显然有偏见。

于 2013-03-19T12:36:47.520 回答
0

我创建了 JabSaw项目。它允许您通过使用带注释的类来定义模块并表达模块之间的关系。默认情况下,模块包含单个包中的所有类。可以使用 Maven 插件、命令行或单元测试检查限制。这应该可以解决您的问题。

于 2014-04-26T18:28:06.880 回答
-1

我想到的一种解决方案是使 GUI 类包私有。虽然不能只隔离一个包,说只有Logic类不能使用GUI,其他的可以。

于 2012-11-17T19:05:53.687 回答