2012-11-17 58 views
2

即,我有一個GUI包和一個Logic包。限制Java包訪問

如何防止邏輯類導入GUI類?從事同一項目的其他人(或我)可能會這樣做,我想阻止這一點。

一個解決辦法,例如可以使用JUnit的檢查,如果做失敗,或拋出異常運行時檢查。沿着這些路線的東西,但如何做到這一點?

回答

-1

我想到的一個解決方案是使GUI類包私人化。雖然你不能只隔離一個包並且說,只有Logic類不能使用GUI,但是其他的可以。

1

你可以寫這樣的使用JDepend或DependencyFinder或Degraph測試。

Degraph是唯一的明確意圖其實寫這樣的情況下測試的三個工具。此外,AFAIK JDepend並未在更新的Java版本中找到所有依賴關係(如註釋中提到的類)。

我是Degraph的作者,所以我表現出明顯的偏見。

0

我創建了JabSaw項目。它允許您通過使用註釋類定義模塊並表達模塊之間的關係。默認情況下,一個模塊包含一個包中的所有類。可以使用Maven插件從命令行或單元測試檢查限制。這應該可以解決你的問題。