這篇文章主要介紹了EA畫UML圖中關(guān)聯(lián)、集合、組合的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)紅崗免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
聚合(Aggreation)
聚合是一種特殊形式的關(guān)聯(lián),而不是一個獨立的概念。簡單的說判斷一個關(guān)聯(lián)是否是聚合,有兩個條件:
是否可以看作是部分和整體的關(guān)系。
2. 是否存在某些操作和屬性可以從整體傳播到部分。
第一點很好理解,估計不會產(chǎn)生什么誤解;第二點包含兩層意思,一是整體和部分之間存在共同的操作和屬性,二是屬性的變化和操作可以從整體到部分傳播。
下圖是一個簡單的圖形編輯軟件的例子。
在這個例子中,存在一個基類Shape,它有兩個屬性,分別是m_positon,和m_size;還有兩個方法,分別是MoveTo和SetSize。
另外存在四個派生類,Rectange,Triangle,Eclipse是簡單圖形,Selection用來管理用戶選中的圖形。
當用戶同時選中多個圖形時,我們就得到一個選中圖形的集合Selection。這時侯,
Selection可以看作是整體,每個圖形可以看作是部分。
用戶對Selection進行的移動,調(diào)整大小的操作都會傳播到各個圖形。
所以我們說各圖形和Selection之間是聚合關(guān)系。類似的,我們可以判定:
員工和公司的關(guān)系不是聚合。
鍵盤/鼠標/顯示器和電腦的關(guān)系是聚合。
組合(Compsosition)
組合是一種特殊的聚合,它和聚合的區(qū)別就是部分被整體獨占,和整體有著相同的生命周期。
還用上面的例子,這個軟件可以將幾個圖形合并成一個復合圖形,然后就當作一個圖形來使用。這時候被合并的小圖形就被復合圖形獨占,與復合圖形有同樣的生命周期。類圖如下。
這時候,我們說構(gòu)成復合圖形的每個圖形和復合圖形之間的關(guān)系就是組合關(guān)系。
聚合/組合的設(shè)定方法
EA是通過關(guān)聯(lián)端屬性設(shè)定畫面來修改組合/聚合選項的。畫面如下圖:
紅框中的Aggregation項目有三個選項:
none:普通的關(guān)聯(lián)
share:聚合
composite:組合
關(guān)聯(lián)/聚合/組合的關(guān)系歸納起來就是下面這張圖:
感謝你能夠認真閱讀完這篇文章,希望小編分享的“EA畫UML圖中關(guān)聯(lián)、集合、組合的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!