[英]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.