類別圖中的區域變數

2003 年 10 月 6 日

如何在 UML 類別圖中顯示區域變數(參數、暫存變數等)?

簡單的答案是:不顯示。我不記得有看過需要這樣做的案例。我曾看過有人這樣做,但並沒有傳達出什麼有用的資訊。

如果你真的、真的需要的話,我的建議是使用具有「關鍵字」的相依性,然後去沖個冷水澡。如果一個物件在區域中儲存另一個物件的執行個體,這肯定暗示著某種形式的相依性。事實上,通常當這樣的相依性值得一提時,只有相依性的這個事實才有關係,所以我不會費心使用關鍵字。

有些書籍談到使用關聯的立體型態,而 UML 1.3 規格也建議這樣做。這樣做的原因有點複雜,與 UML 元模型中的問題有關。如果你想在協作圖中顯示執行個體之間的連結,它們需要在元模型中表示。他們發現這樣做的方式是建立立體型態關聯。他們在 UML 2 的元模型中找到了一個更好的方法來做到這一點,因此在 UML 中這些立體型態已經消失了。

我對使用關聯符號表示這一點的問題在於,我認為僅在方法呼叫範圍內存在的關係與在類別整個生命週期中存在的關係之間存在著重要的差異,而後者的關係更為重要。因此,我只想對那些較長期的關係使用關聯。