簡體   English   中英

在 UML class 圖中,如果 B 被 class A 使用的接口使用,我是否應該繪制從 class A 到 B 的依賴關系?

[英]In UML class diagram, should I draw a dependency from class A to B, if B is used by interface which is used by class A?

如果我有一個使用某些接口 I 的 class A,並且該接口返回 class B,我應該在 UML class 圖上繪制從 A 到 B 的依賴關系嗎?

您描述了一個 class A ,它使用一個接口I ,它使用一個 class B 這看起來有點像:
在此處輸入圖像描述

你應該表現出 A 對 B 的依賴性嗎?

  • 首先,您沒有義務在您的 model 中顯示所有潛在的依賴關系,而只顯示您認為與理解問題相關的那些。
  • 使用依賴不一定是傳遞性的:A 可以在不使用 B 的情況下使用 I,甚至不知道 B。您的敘述並未證明 A 和 B 之間存在直接的使用依賴,因此您不應該展示它(除非您知道那里是直接依賴)。

現在一個定義:

Usage 是一種依賴關系,其中一個 NamedElement 需要另一個 NamedElement(或一組 NamedElements)來實現其完整實現或操作。 除了客戶端的定義或實現使用供應商這一事實外,該用法並未指定客戶端如何使用供應商。

UML 和您的設計都不需要它,但如果您想記錄實現,您可能會重新考慮依賴性。 某些語言(例如 C++)可能需要編譯 A,以包含 I 的定義,這需要包含 B 的定義。因此,要編譯 A,您可能需要了解 B。如果您認為這有助於您了解此類信息依賴關系,你可以展示它。 這沒有錯,但就我個人而言,我建議只顯示直接依賴關系,因為您可以輕松推斷出傳遞依賴關系,而不會用大量額外的箭頭使圖表混亂。

暫無
暫無

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

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