2011-06-30 62 views

回答

3

查看關於從IBM Rational Software Architect documentation取得的關係類型的描述。

「取決於」是指以下:

的依賴關係表明 改變到一個模型元素( 供應商或獨立的模型元素) 可以導致另一個模型 元件的變化(客戶端或依賴型號 元件)。供應商模型元素 是獨立的,因爲 客戶端中的更改不會影響它。客戶端 模型元素取決於供應商 ,因爲對供應商 的更改會影響客戶端。

「使用」指的是下述:

的使用關係是一個依賴 關係,其中一個模型 元件需要的 存在另一個模型元素(或一組模型的 元素)爲其全部實施 或操作。 要求存在另一個模型 元素的模型元素是客戶端,並且需要其存在的模型 是供應商的 。儘管關係表示正在進行的要求,但它也表示兩個模型 元素之間的連接並不總是有意義的,或者 存在。

當我看到它的「用法」是一個不太嚴格的「依賴」。

+0

「當我閱讀它時,」使用「是一個不太嚴格的」依賴性「。」不 - 他們完全不同。 – BonyT

+0

@BonyT,你能給你理解嗎? –

+0

如果你使用另一個對象 - 它的內部變化是你不感興趣的。但如果你「依賴」另一個對象,那麼他們就是這樣做的。這就是兩個術語的定義。 – BonyT

1

「使用」是指其中一個類爲某些操作引用另一個類。

「取決於」是A類在其實現中使用另一個B類(例如作爲方法的參數)的地方。在這種情況下,更改B類可能需要更改爲A類。

注意我已經說過類,但它同樣適用於接口。

維基百科有一個很好的文章:http://en.wikipedia.org/wiki/Dependency_%28UML%29

因此,例如,你可以有一個使用一個類驅動程序和接口IVehicle它公開了一個名爲驅動器()方法之間的關係。對Drive實施的更改不需要對Driver進行任何更改,因此您說Driver使用IVehicle。

但是類驅動程序對類手有依賴性,因爲驅動程序有兩個屬性:Hand LeftHand和Hand RightHand。如果實施這些更改,則需要考慮Driver是否需要相應更新。

+0

手/驅動程序看起來更像是一個組合關係,而不是純粹的依賴關係? –

+0

啊 - 我知道 - 這不是一個很好的例子 - 一直在努力想沿着相同的路線 – BonyT

+0

我認爲所有的組合物的依賴關係較好的一個,但肯定的 - 他們更好地描述爲一個組成 – BonyT

相關問題