2016-07-25 118 views
1

有人可以帮助我解决这个简单的问题吗? 我是UML新手,正在学习Iterator设计模式。UML箭头说明

enter image description here

什么从ConcreteIterator到ConcreteAggregate实线箭头代表什么吗?

由于

+4

A)在这里检查http://stackoverflow.com/questions/1874049/explanation-of-the-uml-arrows ...以及那个黑色的实心箭头不在那个B)试过你最喜欢的搜索引擎? ! (称为先前的研究)C)不要超标签...询问关于UML图的问题有**没有任何**与你在这个问题上提出的所有标签有关! – GhostCat

+1

箭头是关联(上面链接中的数字为5),只有图像中的作者使用非标准样式作为箭头结束 –

+1

请看一下正确的Iterator设计模式类图。 http://www.blackwasp.co.uk/iterator.aspx 请记住,在UML中几乎所有东西在箭头中都很重要 - 线的类型,如果箭头是打开或关闭的,如果它是空的或填充的,如果有是线上(小三角形),线上(也是小三角形)和箭头结尾(可以是最多3个不同的元素)附加刻板印象或其他标记。我会说只有弯头(数量和位置)对箭头的含义没有影响。 – Ister

回答

2

两个箭头ConcreteAggregate和ConcreateIteraor之间不是在一个类图有效。 ConcreateIteraor的黑色实线箭头具体Aggregate是原型和元类之间扩展的符号。这在类之间是无效的,它不是这张图意图描述的。

此图中的正确符号是:

enter image description here

与依存性从ConcreteAggregateConcreateIteraor和从ConcreateIteraor一个单向关联ConcreteAggregate

为了避免无效的图表,您应该使用真正的UML建模工具(与绘图工具相反)。这一个是由GenMyModel制成的。

+1

你说得对。尽管有一些评论: - 原始图显示了斜体中的类Aggregate和Iterator,这意味着它们是抽象的。在您的图表中也可以很好地展示这一点。 - 原型<>是多余的,因为每个虚线箭头都是依赖项。 - 您在关联的左侧显示多重性“1”。为什么不在另一边显示多重性“*”? - 要表明“聚合”是属性名称而不是关联名称,最好将该单词放在关联的左侧,更靠近箭头。 –

+0

最后一点评论:齿轮符号不是标准的UML。我宁愿只显示一个“+”号。 –

+0

谢谢@ www.admiraalit.nl我修正了抽象的本质,并隐藏了刻板印象。 – Xaelis