UML類圖依賴關(guān)系和關(guān)聯(lián)關(guān)系的區(qū)別
本文和大家重點討論一下UML類圖依賴關(guān)系和關(guān)聯(lián)關(guān)系的區(qū)別,UML類圖依賴關(guān)系依賴表示兩個或多個模型元素之間語義上的關(guān)系,而關(guān)聯(lián)是一種結(jié)構(gòu)化的關(guān)系,指一種對象和另一種對象有聯(lián)系。
1.依賴關(guān)系(Dependencies)
UML類圖依賴關(guān)系是一種使用關(guān)系,特定事物的改變有可能會影響到使用該事物的事物,反之不成立。在你想顯示一個事物使用另一個事物時使用,兩個元素之間的一種關(guān)系,其中一個元素(服務(wù)者)的變化將影響另一個元素(客戶),或向它(客戶)提供所需信息。它是一種組成不同模型關(guān)系的簡便方法。依賴表示兩個或多個模型元素之間語義上的關(guān)系。它只將模型元素本身連接起來而不需要用一組實例來表達(dá)它的意思。它表示了這樣一種情形,提供者的某些變化會要求或指示依賴關(guān)系中客戶的變化。
根據(jù)這個定義,關(guān)聯(lián)和泛化都是依賴關(guān)系,但是它們有更特別的語義,故它們有自己的名字和詳細(xì)的語義。我們通常用依賴這個詞來指其他的關(guān)系。依賴用一個從客戶指向提供者的虛箭頭表示,用一個構(gòu)造型的關(guān)鍵字來區(qū)分它的種類,通常情況下,UML類圖依賴關(guān)系體現(xiàn)在某個類的方法使用另一個類作為參數(shù)。
2.關(guān)聯(lián)關(guān)系(Association)
關(guān)聯(lián)是一種結(jié)構(gòu)化的關(guān)系,指一種對象和另一種對象有聯(lián)系。給定有關(guān)聯(lián)的兩個類,可以從一個類的對象得到另一個類的對象。關(guān)聯(lián)有兩元關(guān)系和多元關(guān)系。兩元關(guān)系是指一種一對一的關(guān)系,多元關(guān)系是一對多或多對一的關(guān)系。一般用實線連接有關(guān)聯(lián)的同一個類或不同的兩個類。當(dāng)你想要表示結(jié)構(gòu)化關(guān)系時使用關(guān)聯(lián),如果幾個類元的實例之間有聯(lián)系,那么這幾個類元之間的語義關(guān)系即關(guān)聯(lián)。關(guān)聯(lián)描述了系統(tǒng)中對象或?qū)嵗g的離散連接。
關(guān)聯(lián)將一個含有兩個或多個有序表的類元,在允許復(fù)制的情況下連接起來。最普通的關(guān)聯(lián)是一對類元之間的二元關(guān)聯(lián)。關(guān)聯(lián)的實例之一是鏈。每個鏈由一組對象(一個有序列表)構(gòu)成,每個對象來自于相應(yīng)的類。二元鏈包含一對對象。關(guān)聯(lián)帶有系統(tǒng)中各個對象之間關(guān)系的信息。當(dāng)系統(tǒng)執(zhí)行時,對象之間的連接被建立和銷毀。關(guān)聯(lián)關(guān)系是整個系統(tǒng)中使用的“膠粘劑”,如果沒有它,那么只剩下不能一起工作的孤立的類。在關(guān)聯(lián)中如果同一個類出現(xiàn)不止一次,那么一個單獨的對象就可以與自己關(guān)聯(lián)。如果同一個類在一個關(guān)聯(lián)中出現(xiàn)兩次,那么兩個實例就不必是同一個對象,通常的情況都如此。二元關(guān)聯(lián)用一條連接兩個類的連線表示。
聚集表示部分與整體關(guān)系的關(guān)聯(lián),它用端點帶有空菱形的線段表示,空菱形與聚集類相連接。組成是更強形式的關(guān)聯(lián),整體有管理部分的特有的職責(zé),它用一個實菱形物附在組成端表示。每個表示部分的類與表示整體的類之間有單獨的關(guān)聯(lián),但是為了方便起見,連線結(jié)合在一起,現(xiàn)在整組關(guān)聯(lián)就像一棵樹。
【編輯推薦】
- UML類圖依賴關(guān)系和其他關(guān)系區(qū)別
- 深入剖析UML類圖依賴關(guān)系
- 全面認(rèn)識各種UML類圖符號
- 解析UML類圖符號意義
- UML建模中繪制UML用例圖行之有效的辦法