如何通过UML描述“类使用类”的关系

27

案例A 假设您有两个类ModelSettings

Settings仅包含在应用程序中使用的public static常量。您认为这两个类之间有什么样的关系?

答: 在这种情况下,Settings类与Model类之间具有依赖关系,因为Model类需要使用Settings类中的常量。

案例B 假设您有一个IntersectionManager singleton类,该类被RoadCar类使用,以从中获取一些数据。

在UML中,“类使用类”关系的名称是什么?

答: 这种关系被称为“依赖关系”。

是否会对案例A和案例B使用相同的关系?哪种UML箭头可以用于表示此关系?

答: 是的,对于这两种情况都可以使用依赖关系。在UML中,可以使用带箭头的虚线来表示依赖关系。箭头指向被使用的类。

2个回答

38

好的,您可以使用“uses”关系(虚线或点状线,箭头朝外)。

我在这里找到了一个很好且有帮助的概述。


13

两种情况下都有常规的黑色和实线关联线。可以选择在任一或双端加入箭头以说明使用方向。


取决于你的实现方式和归属情况吧。也许你是对的,但如果你已经知道答案,为什么还要问呢? - Jarno Argillander
当问题被提出时,我不知道。谷歌很友善地帮忙了。你能否稍微添加一些关于“谁拥有谁”以及它如何相关的内容? - James Raitsev
通常很难将类/对象结构的所有不同方面放入一个UML图中,例如所有权、使用、类关系、对象关系、对象计数等。 - Jarno Argillander
公平地说 :) 谁拥有谁意味着哪个类拥有哪个其他类作为成员属性。作为单个属性、数组等。或者它也可以意味着哪个对象在成员属性中拥有哪个其他对象。 - Jarno Argillander
其实,现在我想了想...两种情况都涉及到从普通类/对象(通过静态函数调用获得的单例对象)使用静态类。那么依赖类型听起来更可行一些。我的草率回答反映了我的背景,因为通常尝试制作完美模型需要太多时间。因此,我只是使用常规的关联线/箭头来模拟接下来要做的事情,并完成它。正如我所说,当试图在一个图表中建模所有内容时,UML 的适用性很差。你要么会感到沮丧,要么会有许多关于同一案例的不同角度的图表。 - Jarno Argillander

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接