2011-05-06 4 views
1

저는 팀에서 일하고 있습니다. 모든 그룹이 다른 JVM에서 실행될 jar 파일을 제공 할 수 있도록 in 그룹을 나누기로했습니다. 내 그룹에서 '클래스 A'를 정의 할 때 다른 그룹이 일부 속성 및 설정자에 액세스한다는 것을 알았습니다. 유형 A의 런타임 객체는 캐시에 저장되고 나머지 팀에서 검색됩니다. 필요한 세부 사항을 제공하기 위해 나머지 두 팀이 사용해야하며 캐시에서 저장 및 검색되는 클래스 A를 포함하는 두 개의 jar :패키지 및 클래스 디자인 (Java 및 액세스 세분화)

A1.jar을 만들기로 결정했습니다.

A2.jar에는 A에서 파생 된 B 클래스와 비즈니스 코드가 모두 들어 있지만이 항아리는 나머지 팀에서는 사용하지 않지만 일부 SOA 인터페이스에서는 액세스 할 수 있습니다.

나는 팀의 나머지 부분에서 접근 할 수없는 세터와 속성을 클래스 B로 옮겼지만 몇 가지 의구심이있다.

일부 그룹이 클래스 A에 대한 다른 액세스 권한을 필요로 할 경우 (다른 사람들이 가질 수없는 일부 속성을 설정할 수 있다고 가정 할 경우) 어떻게됩니까?

보호되고 공개 된 비공개 키워드를 제외하고 클래스 사용자의 패키지를 기반으로 한 클래스의 일부 속성에 대한 액세스를 거부 할 패턴이 있습니까?

pd : 그룹에 의해 나는 일부 jar 파일을 제공하는 개발 팀원의 일부 그룹을 의미한다. 그룹의 구성은 논리적 비즈니스를 반영한다. 내가 '액세스'라고 말할 때 개인적으로 코드에 대한 정적 액세스를 의미한다./보호/공공/패키지 키워드, 어떤 의미로 나는 런타임 속성과 관련된 모든 동적 액세스를 의미.

는 서하십시오 내 영어

답변

1

상속 및 모듈의 홀수 사용 같은데. 대신 인터페이스 또는 인터페이스 집합 및 가능한 경우 팩토리 인 API를 게시합니다.

+0

클래스 계층 구조가 단순화되었지만 A1.jar은 나머지 팀에서 실제로 사용하는 API이므로 해당 API를 사용하는 WS 호출을 통해 비즈니스 코드와 상호 작용합니다. – user311174

관련 문제