中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

幾種UML關聯關系的區別是什么

發布時間:2021-12-03 16:53:17 來源:億速云 閱讀:137 作者:小新 欄目:開發技術

小編給大家分享一下幾種UML關聯關系的區別是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

幾種UML關聯關系的區別 

結合關系(association)是一種靜態結構上的關系,換言之,它偏向于數據關系。所以,兩類別之間放置結合關系,同時意味著這個關系必須被保存起來,這也是為何UML類別圖中最常出現的是結合關系。比方說,顧客跟訂單之間的關系,就會使用結合關系,因為我們希望系統可以保存兩者之間的關系。

結合關系的兩端通常是平等的,如果要表達整體-部分(whole-part)意涵時,就可以改用聚合關系(aggregate,空心菱形),或是組合關系(composite,實心菱形)。

特別注意的是:

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

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

3.組合關系中,整件擁有部件的生命周期,所以整件刪除時,部件一定會跟著刪除。而且,多個整件不可以同時間共享同一個部件。

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

一般化(generalization)是兩類別之間的關系,不同于上述的結合、聚合或組合關系,它是一種分類關系。或者說,針對某一概念或事物,其個體可區分為一般類(父類別)與特殊類(子類別)時,兩者之間便可以放置一般化關系。舉例來說,我們會說無線鼠標和有線鼠標(它們都是特殊類別/子類別)都是一種鼠標(一般類別/父類別)。

依賴關系又與上列幾種關系不同,先說明為何許多UML書上會說它是短暫關系,其實這是相對于結合(聚合、組合)關系,前面有我們有提到,結合關系是一種靜態結構關系,是需要被保存下來的。相較之下,依賴關系并不需要被儲存起來,所以才會說它是短暫關系。

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

再度提醒的是,到底使用結合、聚合、組合、一般化或依賴關系,無關乎真實現象,而是與企業規則,或者與設計者想要表達什么樣的設計有關,所以兩類別之間具有什么樣的關系并無固定答案,端看設計而定。

以上是“幾種UML關聯關系的區別是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

uml
AI

沅陵县| 乐安县| 苍南县| 荆门市| 中超| 通渭县| 临泽县| 尚义县| 涡阳县| 伊通| 中山市| 嘉定区| 晋城| 平和县| 独山县| 河南省| 明星| 福州市| 博兴县| 赫章县| 宜兴市| 祁阳县| 凤翔县| 朝阳区| 辽宁省| 余姚市| 上栗县| 漳州市| 监利县| 奉贤区| 盐城市| 南开区| 天津市| 毕节市| 孝感市| 正镶白旗| 富宁县| 定结县| 尉氏县| 和林格尔县| 阿拉善盟|