簡體   English   中英

UML class 圖關聯名稱 scope 類似關系

[英]UML class diagram association name for scope like relation

我們如何調用和表示一個關聯,比如子范圍和父范圍所具有的關聯?

+--------------------+                          +-------------------+
|    parent scope    | <――――――――――――――――――――――x |    child scope    |
+--------------------+                          +-------------------+

父子關聯明確,不允許父子訪問。

然而,子與父關聯受到限制,子不能完全訪問父 object,它只能查找特定標識符,但子 object 中必須缺少該標識符。

Your diagram means that the association is navigable from Child scope to Parent scope , but that it is not navigable from the Parent scope to Child scope .

導航是關於運行時效率的 promise:

可導航性意味着在運行時參與鏈接的實例(關聯的實例)可以從關聯另一端的實例有效地訪問。 實現這種有效訪問的精確機制是特定於實現的。 如果一端不可導航,則從其他端訪問可能是可能的,也可能是不可能的,如果是的話,它可能效率不高。
- UML 2.5.1 規范。

所以這不是“被允許”的問題,而是關於這種訪問的難易程度和效率的問題。

但是,您的圖表與敘述之間存在不匹配。 假設您的上下文中的可導航性是通過使用標識符實現的,該標識符具有基於該標識符查找 class 實例的有效方法:

  • Child scopeParent scope的可導航性意味着子將知道其父的標識符。
  • Parent scopeChild scope的不可導航性意味着父沒有其子的標識符,並且必須找到子 class 的所有子實例並詢問子父。 效率極低。

(請注意,這確實是特定於實現的。如果您要在 RDBMS 中實現這樣的 model,則不會出現導航問題,因為根據父 ID 查詢子代總是很容易且相對有效。)。

從業務的角度來看(在“業務用例”中也是如此),沒有可導航性的概念,此屬性用於 OO 編程中對象之間的鏈接。 在業務用例中,箭頭的方向實際上指示了主角觸發用例后信息流向的方向。 大多數情況下,由於存在“交互”,信息是雙向的(例如,屏幕通過編碼、鼠標事件等方式發送信息、視覺信息和接收信息等。如果信息只通過一種方式,那么關系是例如,一個用例將數據發送給次要參與者(這是另一個系統),並且該系統在沒有任何反饋的情況下“使用”該數據。

暫無
暫無

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

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