Class 在UML图中获取方法和类关系

Class 在UML图中获取方法和类关系,class,get,dependencies,uml,relationship,Class,Get,Dependencies,Uml,Relationship,这个问题一次又一次地困扰着我,我找不到一个明确的答案。对于大多数人来说,这应该是微不足道的回答,所以请,你能帮助我正确使用UML吗 如果我有A、B和C。B的实例是a的成员,C的实例是B的成员。现在B提供了一个方法,该方法返回其类C的成员,a在其方法中调用此方法并对其执行一些操作。在UML中,在a和C之间是否存在依赖关系?或者,这种关系是如此明显,以至于可以修改(否则UML图很快就会变得难以忽略)?为说明问题,请简要描述所述情况: 不需要从A到C的链接 从A到B和B到C的箭头显示了可见性(或导航)

这个问题一次又一次地困扰着我,我找不到一个明确的答案。对于大多数人来说,这应该是微不足道的回答,所以请,你能帮助我正确使用UML吗

如果我有
A
B
C
B
的实例是
a
的成员,
C
的实例是
B
的成员。现在
B
提供了一个方法,该方法返回其类
C
的成员,
a
在其方法中调用此方法并对其执行一些操作。在UML中,在
a
C
之间是否存在
依赖关系?或者,这种关系是如此明显,以至于可以修改(否则UML图很快就会变得难以忽略)?为说明问题,请简要描述所述情况:


不需要从A到C的链接


从A到B和B到C的箭头显示了可见性(或导航),使得C对B可见,而B本身对A可见,这意味着从A到C有一条假定路径,不需要绘制明确的线。另外,正如您所说,遵循这种模式将很快创建一个笨拙的图表。

这个答案是不正确的。如果a已知类型C,则a和C之间存在依赖关系。在本例中,由于C的实例将返回到a,因此有必要返回。然而,它过于复杂的原因是因为设计没有遵循德米特定律。A应该告诉B该做什么,这将部分任务委托给C。虽然我同意你关于涉嫌违反德米特定律的说法,但它不会改变图表的任何内容。如果您提到的依赖类型的每个实例都包含在图表中,那么它将迅速消耗大量空间;要么需要更大的最终输出,减小字体大小,要么两者兼而有之。间接依赖关系不会自动使关系图更清晰。如果它是一个涉及这些类的特定序列图,那么当然可以,但是对于域模型的概述,可以推断出这种关系。