問題描述
UML類圖靜態方法依賴 (UML class diagram static method dependecy)
我有 3 個類:A 類和 B 類。它們有變量。C 類沒有變量,只有 A 類和 B 類使用的靜態方法。
我的第一個問題是如何使用 UML 類圖來表示它?我正在考慮使用從 A 到 C 和從 B 到 C 的虛線箭頭 ( ‑‑‑‑‑> ),箭頭上帶有“usesStatically”消息。這是正確的嗎?
另外,我的第二個問題是我是否代表了我的 A 和 B 類的 main() 方法?這是他們唯一擁有的,而且他們使用 C 內部的方法;C 沒有 main(),只包含靜態方法。
代碼如下:
Class A {
main()
{
C.method1();
}
}
class B:
Class B{
main()
{
C.method2();
}
}
class C:
Class C{
method1();
method2();
}
第三,我的最後一個問題:在我的UML類圖中,method1() 屬於 A 類或 C 類,還是兩者都屬於?同樣,method2() 屬於 B、C 還是兩者都屬於?
參考解法
方法 1:
Class Diagram is a structure diagram, and thus you are not interested in the way particular methods call each other, rather you focus on capturing classes and their relations. So instead of saying "instance of A
calls C.method1
", you simply say that A
uses C
.
Adding main()
is questionable. If such method makes sense in your domain then include it, if the only reason is that that's the entry point in your language, you should probably omit it as it doesn't add value to the diagram.
If you want to capture the actual method calls between the classes, UML has behavior diagrams for that, here namely
Communication Diagram, and
Sequence Diagram
(by vici30、Peter Uhnak)