2011-09-15 5 views
10

은 우리 모두 목표 - C 방법 헤더는 표준 자바 메소드 헤더보다 더 많은 정보를 전달 알고 ....목표 - C와 UML 모델링

UML 사용하여 모델링 할 때이 문제를 제기

는 ... 일부 메소드 이름은 아주 미친 듯이이다 long ... UML 클래스 다이어그램에서 이러한 메소드를 명확하게 모델링하는 가장 좋은 방법은 무엇입니까?

메서드 이름을 압축하거나 그에 대한 Java 스타일 헤더를 쓸 수 있습니까?

나는 소프트웨어 시스템에 대한 보고서를하고있어 내가 끼 었어 ...

답변

4

나는 목표 - C 헤더 덜 전반적인 정보를 전달하는 경우에 생각하지만, 그들은 더 명확 인터페이스를 표시 할 수 있습니다.

예를 들어 - 현대 Objective-C 런타임 (Mac OS 및 iOS 용)을 사용하면 개인 iVars 또는 헤더의 개인 메소드를 선언 할 필요가 없습니다. 구현 파일의 범주로 이동할 수 있습니다. 심지어 헤더 파일에서 readonly으로 선언 된 구현에서 readwrite으로 속성을 다시 선언 할 수도 있습니다.

즉, 헤더 파일에 표시된 것보다 훨씬 많은 일이 발생하지만 공용 인터페이스는 개인 구현과 별도로 명확하게 정의됩니다. 이는 UML 다이어그램에서 좋은 점입니다.

긴 메소드 이름은 Objective-C 규칙의 일부입니다. 당신은 그것을 사랑하거나 혐오 할 수 있습니다. (나는 그것을 개인적으로 사랑합니다). 그러나 그것들을 작성하는 측면에서 그들의 매개 변수를 보여주지는 않습니다. 예를 들어 :

- (NSString *)resultStringWithOptions:(NSDictionary *)options withCharacterSet(NSCharacterSet *)charSet error:(NSError **)error: 

실제 이름이 방법의은 다음과 같습니다 : 당신은 같은 방법 선언 있다고 가정 짧은

resultStringWithOptions:withCharacterSet:error: 

합니다.

+0

당신은 요점이 있지만 클래스 다이어그램은 혼란 스러울 수 있으며 시스템의 기능과 아키텍처를 명확히하기 위해 유형을 포함해야합니다. 이 경우 메서드 이름이 훨씬 길어지고, 특히 인수가 2 개 이상인 메서드의 경우! – user559142

관련 문제