2012-11-17 3 views
2

즉. 나는 GUI 패키지와 로직 패키지를 가지고있다.Java 패키지 액세스 제한

Logic 클래스에서 GUI 클래스를 가져 오지 못하게하려면 어떻게합니까? 같은 프로젝트에서 일하는 다른 사람들 (또는 나 자신)도 그렇게 할 수 있습니다.

솔루션은 예를 들어 JUnit의 검사 일 수도 있고 완료되면 실패하는 예외 일 수도 있고 예외를 throw하는 런타임 검사 일 수도 있습니다. 이 라인을 따라 뭔가,하지만 어떻게 그것을 할 수 있습니까?

답변

-1

내 마음에 오는 하나의 솔루션은 GUI 클래스 패키지를 비공개로 설정하는 것입니다. 하나의 패키지 만 분리 할 수는 없지만 로직 클래스 만 GUI를 사용할 수는 없지만 다른 것은 할 수 있다고 말합니다.

1

JDepend 또는 DependencyFinder 또는 Degraph을 사용하여 이러한 테스트를 작성할 수 있습니다.

Degraph는 이와 같은 경우에 실제로 테스트를 작성하기 위해 명시 적으로 의도 된 세 가지 도구 중 유일합니다. 또한 AFAIK JDepend는 최신 Java 버전 (주석에 언급 된 클래스와 같은)의 모든 종속성을 찾지 않습니다.

나는 Degraph의 저자이기 때문에 나는 편파적으로 편향되어있다.

0

나는 JabSaw 프로젝트를 만들었습니다. 주석 클래스를 사용하여 모듈을 정의하고 모듈 간의 관계를 표현할 수 있습니다. 기본적으로 모듈은 단일 패키지에 모든 클래스를 포함합니다. 제한 사항은 Maven 플러그인, 명령 행 또는 유닛 테스트를 사용하여 확인할 수 있습니다. 이렇게하면 문제가 해결됩니다.