매개 변수 java Set을 수신하고 Set을 반환하는 작업이 있다고 가정합니다. 어떻게 그것을 ArgoUML에서 모델링 할 수 있습니까? 템플릿 매개 변수를 사용하여 "Set"클래스를 만들어야 만하는 것 같지만 어떻게 작동하는지 알 수 없습니다.Java Generics는 템플릿 매개 변수를 사용하여 ArgoUML로 모델링됩니까? 어떻게 작동합니까?
3
A
답변
1
ArgoUML에서 지원되는 기능과 UI에 매핑되는 기능을 확인하는 좋은 방법은 원하는 것을 수행하는 간단한 예제를 리버스 엔지니어링하는 것입니다. 템플릿 클래스 (TemplateParameters, Bindings 등)는 ArgoUML 0.34 (현재 릴리스)에서 불완전하게 구현됩니다. 일반 placeholder E
을 사용하여 클래스를 리버스 엔지니어링하면 E
템플릿 매개 변수뿐만 아니라 E
이라는 또 다른 클래스로 끝날 것이므로 조금 혼란 스러울 것입니다.
불행히도, 다중성 (UML에서 여러 가지 값을 갖는 방식)이이 경우 작동 할 것이라고 생각하지 않습니다. a) a Set
은 고유성 등에 관한 추가 의미론을 가지고 있기 때문입니다. b) 아마도 당신은 예전 랜덤 세트 구현이 아닌 일반화를 java.util.Set
으로 보여주고 싶습니다.
클래스의 속성 패널 아래쪽에있는 템플릿 매개 변수 필드에서 UI에 대한 자리 표시자를 볼 수 있습니다. 그것은 당신이 템플릿 매개 변수를 만들 수있게 해줄 것입니다.
아마 지금 당장 할 수있는 가장 좋은 방법은 입력을 기다리고 일반 매개 변수 Set
으로 매개 변수를 반환하고 강력한 형식의 Set
의 특수성을 무시하는 것입니다.
집합 및 다른 컬렉션을 UML의 클래스로 모델링해서는 안됩니다. 대신에 to-n 관계를 사용하는 것을 고려해야합니다 (목록 등으로 주문할 수 있음). 다른 목적을 위해 템플릿 매개 변수를 사용하여 generics를 모델링 할 수 있습니다.이 경우 질문을 변경하십시오 :) – Christian
데이터 유형 외에도 ArgoUML을 사용하면 작동 매개 변수의 특성을 in/out/return으로 구성 할 수 있습니다. 내 매개 변수가 다중 값임을 나타내는 속성이 있어야한다고 생각했습니다. 그게 당신이 말하는거야? 부동산이 없으면 템플릿 매개 변수를 사용할 수 있다고 생각하지만 어떻게 작동하는지 이해할 수 없습니다 ... –