2016-07-25 99 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