2011-06-30 57 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

相关问题