UML:元素和访问者之间缺少关联

时间:2015-03-12 18:40:33

标签: design-patterns uml

以下是Visitor Pattern

的UML图

由于Element.accept()的参数类型为Visitor,因此不应该存在从ElementVisitor的关联吗?

UML

2 个答案:

答案 0 :(得分:2)

不一定。 请记住,UML没有义务指出一切。在可能的情况下,图表必须尽可能简单。 如果您认为您应该注意Element和Visitor之间的关系,请执行此操作。

如果我们在图中指出所有可能的关系是类之间的属性或参数而不是指向树将指向森林。 ;) 只是UML为我们提供了绘图的多功能性和灵活性,以达到所需和必要的程度。


编辑: Tomas Kilian,不是UML的缺陷。 UML做得很好,提供了广泛的可能性。

正如我所说,它并不坏;它不好。这是相对的。一切都取决于您对开发人员的需求。有时你必须明确表示追踪这条线的关系而不是其他的关系。

通常,UML图应该保持简单,并提供一个近似的视图来阐明想法。因为你可以做的越多,复杂的元素就越多。显然,简单结束,几乎没有关系或细节冒险不捕捉本质。 中间是答案,这取决于每个人。所以我能给出的最佳答案是DEPENDS。这种主观性与每个人的资格和经验息息相关。

答案 1 :(得分:1)

@Delphius在他的陈述中并不一定错。但是,在这种情况下我会使用一个关联,因为这个简单的行使得类之间的关系比检查属性(您不能为压缩视图显示)更清晰。

所以从实际的角度来看:画出关系。

关联和类型属性只是同一事物的两种不同的渲染。从我的观点来看,这可以说是UML本身的一个缺陷。我认为关系应该主导定义,属性只是次要(编程)信息。请注意,您也可以使用关联角色来表示它。