自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

幾種UML關(guān)聯(lián)關(guān)系的區(qū)別詳解

開發(fā) 架構(gòu)
學(xué)習(xí)UML的過程中,你可能會(huì)遇到UML關(guān)聯(lián)問題,這里就向大家介紹一下幾種UML關(guān)聯(lián)關(guān)系的區(qū)別,希望通過本文的介紹你對(duì)幾種UML關(guān)聯(lián)關(guān)系有清楚的認(rèn)識(shí)。

本節(jié)和大家一起學(xué)習(xí)一下幾種UML關(guān)聯(lián)關(guān)系的區(qū)別,主要有組合,聚合,以及依賴等,相信通過本節(jié)的學(xué)習(xí),你對(duì)UML關(guān)聯(lián)有更全面的了解。

幾種UML關(guān)聯(lián)關(guān)系的區(qū)別

結(jié)合關(guān)系(association)是一種靜態(tài)結(jié)構(gòu)上的關(guān)系,換言之,它偏向于數(shù)據(jù)關(guān)系。所以,兩類別之間放置結(jié)合關(guān)系,同時(shí)意味著這個(gè)關(guān)系必須被保存起來,這也是為何UML類別圖中最常出現(xiàn)的是結(jié)合關(guān)系。比方說,顧客跟訂單之間的關(guān)系,就會(huì)使用結(jié)合關(guān)系,因?yàn)槲覀兿M到y(tǒng)可以保存兩者之間的關(guān)系。

結(jié)合關(guān)系的兩端通常是平等的,如果要表達(dá)整體-部分(whole-part)意涵時(shí),就可以改用聚合關(guān)系(aggregate,空心菱形),或是組合關(guān)系(composite,實(shí)心菱形)。特別注意的是:

1.聚合與組合都是一種結(jié)合關(guān)系,只是額外具有整體-部分的意涵。

2.聚合關(guān)系中,整件(wholeobject)不會(huì)擁有部件(partobject)的生命周期,所以整件刪除時(shí),部件不會(huì)被刪除。再者,多個(gè)整件可以共享同一個(gè)部件。

3.組合關(guān)系中,整件擁有部件的生命周期,所以整件刪除時(shí),部件一定會(huì)跟著刪除。而且,多個(gè)整件不可以同時(shí)間共享同一個(gè)部件。

至于,實(shí)務(wù)上倒底要采用聚合關(guān)系還是組合關(guān)系,不決定于真實(shí),而是決定于企業(yè)規(guī)則。比方說,訂單與細(xì)項(xiàng)之間的關(guān)系,通常采用組合關(guān)系,一旦訂單被刪掉時(shí),底下的細(xì)項(xiàng)也會(huì)同時(shí)被刪除。但是,這是比較常見的企業(yè)規(guī)則,試想,或許有些領(lǐng)域的交易是可以拆單的,訂單被取消時(shí),原先的細(xì)項(xiàng)可以被并入別的訂單中,若是如此,就適合使用聚合關(guān)系了。

一般化(generalization)是兩類別之間的關(guān)系,不同于上述的結(jié)合、聚合或組合關(guān)系,它是一種分類關(guān)系?;蛘哒f,針對(duì)某一概念或事物,其個(gè)體可區(qū)分為一般類(父類別)與特殊類(子類別)時(shí),兩者之間便可以放置一般化關(guān)系。舉例來說,我們會(huì)說無線鼠標(biāo)和有線鼠標(biāo)(它們都是特殊類別/子類別)都是一種鼠標(biāo)(一般類別/父類別)。

UML關(guān)聯(lián)中依賴關(guān)系又與上列幾種關(guān)系不同,先說明為何許多UML書上會(huì)說它是短暫關(guān)系,其實(shí)這是相對(duì)于結(jié)合(聚合、組合)關(guān)系,前面有我們有提到,結(jié)合關(guān)系是一種靜態(tài)結(jié)構(gòu)關(guān)系,是需要被保存下來的。相較之下,依賴關(guān)系并不需要被儲(chǔ)存起來,所以才會(huì)說它是短暫關(guān)系。

最常見的依賴關(guān)系(dependency)是一種使用關(guān)系,譬如顧客類別里頭有一個(gè)計(jì)算年度交易總額操作好了,在這個(gè)操作中必須連到一群當(dāng)年度的交易對(duì)象,并且呼叫交易對(duì)象取得交易金額進(jìn)行累加,才能計(jì)算出年度交易總額。在這個(gè)例子中,顧客類別與交易類別就有短暫的依賴關(guān)系。

再度提醒的是,到底使用結(jié)合、聚合、組合、一般化或依賴關(guān)系,無關(guān)乎真實(shí)現(xiàn)象,而是與企業(yè)規(guī)則,或者與設(shè)計(jì)者想要表達(dá)什么樣的設(shè)計(jì)有關(guān),所以兩類別之間具有什么樣的關(guān)系并無固定答案,端看設(shè)計(jì)而定。本節(jié)關(guān)于幾種UML關(guān)聯(lián)關(guān)系的區(qū)別簡(jiǎn)單介紹到這里。

【編輯推薦】

  1. 體驗(yàn)免費(fèi)UML建模工具
  2. 深度剖析九大UML視圖及其作用
  3. 實(shí)例講解UML對(duì)象圖使用
  4. 軟件設(shè)計(jì)過程中面向?qū)ο骍ML技術(shù)如何使用
  5. UML建?;A(chǔ)教程
責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-07-07 10:54:53

UML關(guān)聯(lián)關(guān)系

2010-07-08 15:28:39

UML類圖依賴關(guān)系

2010-07-09 15:29:51

UML類關(guān)系

2010-07-09 10:26:35

UML類圖關(guān)系

2011-04-12 14:47:54

UML

2010-07-08 14:58:29

UML類圖關(guān)系

2010-06-13 09:18:28

UML依賴

2010-07-09 10:36:14

UML類圖關(guān)系

2012-01-05 11:20:08

JavaUML

2010-06-12 15:21:19

UML關(guān)聯(lián)

2010-06-13 09:42:05

UML依賴

2010-07-09 15:41:23

UML類關(guān)系

2010-06-29 13:11:40

UML類圖依賴關(guān)系

2010-07-06 15:48:46

UML圖形

2011-11-17 09:30:00

UML

2010-06-10 13:55:13

UML Rose

2010-06-18 10:58:28

UML模型元素

2010-07-02 14:34:53

UML類圖

2010-06-29 14:33:36

UML面向?qū)ο蠼?/a>

2010-07-08 10:04:34

UML面向?qū)ο蠼?/a>
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)