CASE1:包P1中有一個類P1-Class1,包P1導入包P2,你希望在P1視圖中看到包P2中的内容,如下圖所示:
<a target="_blank" href="http://blog.51cto.com/attachment/201202/120041946.png"></a>
圖1
觀察圖1,你可以看到包P2中有一個類P2-Class1,這個操作很簡單,你隻需要在該視窗空白處點選右鍵,在彈出的菜單中選擇New Element or Connector|Package即可.當然你也可以通過ToolBox中的class項下選擇Package這個按鈕,然後拖動到該視圖中.
CASE2:雖然你可以看到包P2中的内容,但現在P1-Class1需要同P2-Class2建立依賴關系,怎麼辦呢?你怎麼樣才能把P2-Class2這個類弄到P1視圖中呢?其實很簡單,在空白處點選滑鼠右鍵,你可以在彈出的菜單中看到"Insert Existing Element"這一項,點選它,彈出一個視窗,這個視窗顯示一棵樹,你可以找下圖所示的分支:
<a target="_blank" href="http://blog.51cto.com/attachment/201202/120819792.png">圖2</a>
點選P2-Class1,你可以在P1視圖中看到P2-Class1,建立依賴關系即可,如下圖所示:
<a target="_blank" href="http://blog.51cto.com/attachment/201202/121249561.png">圖3</a>
不過有一個問題,不知道為什麼,有些EA自動生成的類視圖中建立的包不會顯示其中的元素,如下圖所示:
<a target="_blank" href="http://blog.51cto.com/attachment/201202/121602713.png">圖4</a>
你看,System是EA自動生成的一個類圖,然後再其視圖中建立包P3,雖然包P3中有一個類P3-Class3,但在視圖中确不顯示P3-Class3,我查了不少資料,始終沒有找到原因,如果有網友遇到這種問題并解決了,請告訴我,不勝感激! 是以為了以防萬一,你打開一個類視圖視窗後,先嘗試建立一個包,然後在包裡建立一個類元素,再檢視一下這個類視圖中的包元素是否會顯示其中的内容.
另外再說一下在設計時應該如何劃分類的包,并且如何組織這些包.我認為需要注意以下幾點:
1.首先應該有一個System包,它包含一個類圖(注意不是類元素),但個類圖中不應該出現任何類,它僅應該包含類包(包含其它的類).
2.找出核心的類,這些類應該具備幾乎不會變化的特點,大多應該是一些抽象類.它們應該組成一個包,稱之為核心包.
3.按功能,層,子系統或者相關的類等原則劃分一個個包.
4.考慮包的放置位置,無疑核心包應該出現在System包中,其它包可能出現在System包中,也可能不會.對于出現在System包中包應該同核心包是平等的關系,這也反映了它們的使用範圍(全局的).通過包之間的連線可以看出這些包之間的關系.
5.不同包中的類之間可能有聯系,可以将相應包中的類導入目前類圖.
本文轉自jetyi51CTO部落格,原文連結: http://blog.51cto.com/jetyi/786627,如需轉載請自行聯系原作者