您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關EA畫UML圖中如何限定關聯的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
從一個例子開始今天的說明。
假設有一個系統,收到外界的事件通知以后,根據設備Id,將事件轉發給適當的設備。按照之前的說明我們可以建模如下。
系統按照以下方式運行:
EventCreater生成Event并設置DeviceId
EventCreater將生成的Event發送給EventDistributor
EventDistributor根據DeviceId檢索對應的Device
將Event發送給Device
對于每一個EventDistributor,可能有多個EventCreator向它發送Event。也可能有多個設備接收由它轉來的Event。
為了提高檢索速度,我們將SendEvent關聯的Device端的有序性設定為{ordered},即:結構有序,而且在這個列表中每個Device只能出現一次。
我們知道,有序性為{ordered}的數據結構,可以是數組,也可以是鏈表。查詢是一般采用的線性查詢。這種設計可以實現功能,而且被大量使用著。
怎么樣,夠了么?
應該有很多人想到了,還不夠快,可以哈希表,B樹嘛!對了就是這個。我們今天的話題:限定關聯。利用限定關聯以后,類圖會變成下面這個樣子。
注意觀察EventDistributor右邊的小框。這種表達方式就是限定關聯。圖中的EventDistributor和Device之間的SendEvent關聯可以理解為:在EventDistributor中通過deviceId可以決定唯一的一個Device。
進一步講,引入deviceId限定符以后,除了通過deviceId取得唯一的Device這件是意外,它還附帶了另外的含義:應該讓這種操作更有效率,差不多就等于要求采用更有效率的數據結構。
限定關聯還是通過關聯端屬性設定對話框進行的。
圖中有兩處變化,一是紅框中Qualifiers項目設成了deviceId,而是綠框中多重度從“*”改到了1。
感謝各位的閱讀!關于“EA畫UML圖中如何限定關聯”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。