考虑这个类图:
如果我没有弄错的话,两者之间有一个“有一个”(聚合),因为Library实际上可以拥有一个书籍实例的句柄。
现在,这个图怎么样?
这两者之间是否存在关联? LibraryService从不在其中存储Book的实例,但其中一个方法返回一个书籍数组。这两个班级之间会有什么关系?
在相关的说明中,Visual Studio似乎不允许您在生成类图时将方法链接到对象。这就是我提出这个问题的原因。
答案 0 :(得分:1)
这两者之间是否存在关联? LibraryService从不在其中存储Book的实例
然后答案是否定的。关系表示两个类之间的某种合作,例如通过交换消息或查询状态(Seemann 2006,p.53,“UML2”)。在这种情况下,两者不合作。可能,您的LibraryService仅为库提供服务,然后该库与“book”连接。
但其中一个方法会返回一系列书籍。
您已经在方法列表中传达了这些信息 - 这很好:)
如果你想要一个关系,你必须能够为它添加语义,在这种情况下,它只是多余但不太容易理解。
答案 1 :(得分:1)
实际上你可以在这里建立一种关系:一种依赖,这是一个匿名的虚线箭头。但正如观察者所说,由于你已经掌握了方法定义中的信息,因此它并不值得。