方法是否算作关联?

时间:2013-04-14 22:03:11

标签: visual-studio-2010 class uml class-diagram

考虑这个类图:

如果我没有弄错的话,两者之间有一个“有一个”(聚合),因为Library实际上可以拥有一个书籍实例的句柄。 enter image description here

现在,这个图怎么样?

enter image description here

这两者之间是否存在关联? LibraryService从不在其中存储Book的实例,但其中一个方法返回一个书籍数组。这两个班级之间会有什么关系?

在相关的说明中,Visual Studio似乎不允许您在生成类图时将方法链接到对象。这就是我提出这个问题的原因。

2 个答案:

答案 0 :(得分:1)

  

这两者之间是否存在关联? LibraryService从不在其中存储Book的实例

然后答案是否定的。关系表示两个类之间的某种合作,例如通过交换消息或查询状态(Seemann 2006,p.53,“UML2”)。在这种情况下,两者不合作。可能,您的LibraryService仅为库提供服务,然后该库与“book”连接。

  

但其中一个方法会返回一系列书籍。

您已经在方法列表中传达了这些信息 - 这很好:)

如果你想要一个关系,你必须能够为它添加语义,在这种情况下,它只是多余但不太容易理解。

答案 1 :(得分:1)

实际上你可以在这里建立一种关系:一种依赖,这是一个匿名的虚线箭头。但正如观察者所说,由于你已经掌握了方法定义中的信息,因此它并不值得。