2011-09-15 48 views
10

我們都知道Objective-C的方法進行頭比標準的Java方法頭的詳細信息....Objective-C和UML建模

使用UML建模時,這提出了一個問題......一些方法名稱是相當失控很長時間...在UML類圖中清楚地模擬這些方法的最佳方法是什麼?

你可以壓縮方法名稱,或者爲它們寫一些Java風格頭文件嗎?

我做了一個軟件系統的報告,我堅持...

回答

4

我認爲在某些情況下的Objective-C頭文件攜帶更少全面的信息,但他們可以更清楚地顯示接口。例如 - 使用現代的Objective-C運行庫(對於Mac OS和iOS),不需要在頭文件中聲明私有的iVar或私有方法,它們可以在實現文件中轉換爲類別。您甚至可以在頭文件中聲明爲readonly的實現中重新聲明屬性爲readwrite

這意味着在類中有更多的事情比頭文件中顯示的多,但公共接口明確地與私有實現分開定義 - 這在UML圖中是一件好事。

至於長方法名稱 - 這是Objective-C約定的一部分。你可以愛它或討厭它(我個人喜歡它)。但是在編寫方法時不會顯示它們的參數。例如:假設你有一個方法聲明爲:

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

實際名這種方法的是:

resultStringWithOptions:withCharacterSet:error: 

哪個更短。

+0

你有一個觀點,然而類圖可能會令人困惑,有時候必須包含類型以幫助明確系統的功能和體系結構。在這種情況下,方法名稱變得更長,特別是對於具有2個以上參數的方法! – user559142