簡體   English   中英

具有多重性 UML 的單向關聯

[英]One-Way Association with Multiplicity UML

我試圖理解這個特定的案例:

 ---------                ---------
|         |0..*      0..*|         |
|CLASS  A |------------->| CLASS B |
|         |              |         |
 ---------                ---------


 ---------                ---------
|         |1..*      0..*|         |
|CLASS  A |------------->| CLASS B |
|         |              |         |
 ---------                ---------

我從第一個例子中理解的是:A 類的一個對象與 B 類的零個或多個對象有關系。這是有道理的,因為 A 類知道 B 類。但其他多重性究竟是什么意思? B 類不知道 A 類,因此將多重性放在那里似乎沒有意義。

第二個例子也是如此。

如果有人有很好的解釋,我將非常感激。

問候,約翰

事實上,這是有道理的,因為它表達了對(數據)模型的約束。

通過將A側的多重性設置為[1..*] ,您聲明應該始終至少有 1 個或多個A實例與A有關系。

在編寫(或生成)業務代碼時,通常不會強制執行此約束,但這只是 UML 模型的一個應用程序。

它還可以作為功能文檔,我對雙方的多樣性非常感興趣。

在設計數據庫時,此類信息也很重要。 它將確定FK字段是否可以為空。

B不知道A的事實不會妨礙多個A連接到B 例如以B為地址。 A公司知道多個地址。 但隨后這些公司將地址交給其他公司——而B並不知道這一點。

這意味着 B 的一個實例可以通過您的關聯被許多 A 的實例作為目標。

但通常我不會為 uml 關聯上的不可導航角色設置多重性,因為它不用於代碼生成(通常沒有這種多重性信息的實現......)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM