2015-06-05 36 views
1

在一個項目中,我有一個相當複雜的類設計,它有很多接口並實現了類。當我創建一個UML圖時,它變得相當大。如果我能夠刪除中間接口,這將節省圖表中的大量空間。通過刪除中間接口(使用ObjectAid創建)來簡化UML圖

,因爲我不是非常有經驗的UML我有兩個問題:

  • 被刪除中介接口「合法」的UML?
  • 這怎麼能用ObjectAid UML Explorer完成?

這是一個簡圖,應該顯示我在說什麼。如果我能夠刪除接口Person並且只顯示與類PersonImpl的連接,這就足夠了。

這是我想達到什麼樣的(對不起,我沒能獲得更好的圖像處理程序):

enter image description here

+0

沒有界面Person,Family和PersonImpl之間的連接會變成什麼?你不會失去UML圖的原始意義嗎? – Gosu

+0

@Gosu也許我沒有正確回答你的問題:我想直接連接Family和PersonImp,因爲在這個設計中,PersonImpl只是Person接口的實現,沒有添加任何東西,也沒有刪除。 – Marged

+0

你不是問你是否可以「刪除UML中的中間接口」,在這種情況下這將是'Person'? – Gosu

回答

3

你可以做的是用棒棒糖符號:

Lollipop

也被稱爲Ball & Socket

+0

您是否知道如何在ObjectAid中完成這項工作(如果不是這樣):ObjectAid從源創建圖表,所以通常我不會手動繪製它們並且對圖的繪製方式的影響有限)? 「棒棒糖符號」是否有另一個名字?在ObjectAid中我沒有找到這樣的選項,也許我可以用不同的名字找到它。 – Marged

+0

不幸的是我不知道ObjectAid。希望@Gosu編輯會有所幫助。 Socket是必需的接口,顯示爲一個半圓,而上面是一個提供的接口。 –

1

我不認爲這將是一個有用或合法的圖。除非Family已經知道PersonImpl(通常我認爲它不會),但沒有關聯可以繪製,這兩種類型之間沒有直接關係。