2017-11-19 1 views
-2

나는 어떤 종류의 사용자와 함께 API 서버를 가지고 있는데, A, BC이라고 말합니다.여러 클라이언트에 대해 JAVA 클래스를 구조화하는 방법은 무엇입니까?

모든 종류에 대해 동일한 클래스가 있지만 내 문제는 API 호출자가 ressource의 소유자가 아닌 경우 속성을 숨기거나 언젠가는 속성을 숨길 수있는 속성이 있다는 것입니다.

현재 각 API 함수에 대해 "인증 된"그룹에 없으면 null로 각각 초기화되고 초기화되는 모든 속성을 확인하지만 기능 수가 많을수록 작업량이 많습니다 ...

더 똑똑하게 그것을 할 평균이 있다면 어떨까요?

답변

0

내가 올바르게 이해했다면 기본적으로 찾고있는 것은 다른 사용자 유형 (A, B, C)에 대해 서로 다른 속성을 정의하는 것입니다.

모든 유형에 대해 동일한 클래스를 사용하도록 "강제 설정"하려고하기 때문에이 문제가 발생합니다. 더 간단하고 명확한 접근법은 각 사용자 유형을 다른 클래스 세트로 매핑하는 것입니다.

현재 구현 :

PS를 : 여기 내 말은 무엇이며 나는이 오히려 자바보다 더 OOP 질문처럼 생각합니다.

  hide properties b,c (just an example) 
     +----------- A 
     | 
     |hide property c (just an example) 
K--------+----------- B 
     | 
     |add property d (just an example) 
     +----------- C 

제안 된 접근 방식 :

K----------------- A 
L----------------- B 
M----------------- C 

그리고 당신의 필요에 따라 KLM 클래스를 구성 할 수 있습니다. 부모 클래스에서 속성의 일부를 일반화 할 수 있다면 P라고 말한 다음 해당 속성을 해당 클래스로 이동하고 모든 특정 속성을 하위 클래스 (K, L, M)로 이동하십시오.

IMHO,이 방법은 훨씬 깨끗합니다.