程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Together與Visual.Studio.NET的結合使用(二)

Together與Visual.Studio.NET的結合使用(二)

編輯:Delphi

3、通過實例來應用Together(二)

下面主要是用來建立靜態類圖。打開缺省的圖( \),在工具箱內選擇Class( \),然後在圖中建立一個類“Store”。選擇該對象,按F4打開屬性窗口,點擊Stereotype右側的按鈕選擇原型為“Place”(地點,表明錄像店的性質),重復以上的步驟,將Clerk置成“Role”(角色),將“Item”置成“Description”(說明)。

另外,可以直接在圖上擊右鍵,選擇Add-> Class,或者在Model視圖中,右擊根結點,然後選擇Add-> Class。

靜態類圖建立完畢,如圖十五:

\
 

圖十五:初始靜態類圖

為一個Class創建成員:右擊Store,並選擇Add-> Field,添加一個新的屬性,並對其賦值:address:string。點擊F4鍵,可以彈出屬性編輯窗口,點擊其中的Visibility域,並從下拉列表中選擇Private屬性。缺省的情況下,Together VS.NET會創建public int域及public void方法。

為Store添加方法,右擊Store類並選擇Add-> Method,使用內嵌的編輯器為方法命名為:findByTitle。關於所填寫的各個類的屬性及方法可參考表一。最終的Store如圖十六所示:

 
\

圖十六:Store類的構成

Class

Fields Methods Store address findByTitle storeNumber findByKeywords hours findByItemNumber Clerk employeeId name Item itemNumber getItemNumber title setItemNumber getTitle setTitle

表一:各類的屬性及方法

 
\

圖十七:設定屬性別名

可以通過Ctrl+W鍵來添加一個屬性,Ctrl+M來添加一個方法,並利用F2鍵來進行命名或重命名工作。

選擇storeNumber屬性,在屬性窗口中的alias裡面可以設定其別名,如:“Store Number”,如圖十七。當然,你也可完全可以設定一個中文的別名,以利於交流。點擊右鍵選擇Goto Definition可以查看Together生成的代碼(如圖十八)

\
 

圖十八:Together自動生成的代碼及別名

創建關系與連接。在該實例中存在兩個關系:一是Clerk關聯到Store,一是Store包括若干個Items。Clerk與Store之間的關系類似於“客戶”與“供應商”之間的關系,而對於Store和Items則明顯的是一個聚合關系(Aggragation)。點擊Association Link按鈕,而後點擊Store並拖至Clerk,此行為會為所謂的客戶與供應商之間建立關系(圖十九):

 
\

圖十九:在Store與Clerk之間建立關系

在Store與Item之間另一新的關聯,使用屬性窗口來定義連接的類型,從Type屬性中定義Aggregation屬性。

創建超級鏈接。Video Store有一個方法findByKeywords用以查找錄像帶。通過使用超級鏈接,可以快速確定圖與元素的關系類型並將其在模型中記錄下來,以用於其他的用例中。打開用例圖,右擊“Find Item by Keywords”用例,選擇Hyperliks-> Edit,會出現一個對話框(圖二十),從“Available Content”面板中選擇Video Store-> Store-> findByKeywords,然後點擊Add按鈕將所選元素加入到右側面板,點擊OK,此時,新建立的用例超級鏈接會以藍色字體顯示(圖二十一)。

 
\

圖二十:超級鏈接對話框

\
 

圖二十一:建立完成超級鏈接之後的用例圖

創建序列圖。序列圖用於設計對象模型的動態效果。在Model視圖,右擊Video Store根節點,Add-> Other diagram,在彈出的對話框中選擇“Sequence Diagram”,重命名為“Rent Movie Sqquence”,並點擊OK。從ToolBox中選擇“UML Interaction Diagram”,點擊Actor按鈕,放置到圖中,重命名為“Clerk”,點擊對象按鈕,並點擊Actor時間線的右側,將該對象重命名為“theStore”。點擊工具盒中的“Message”按鈕,增加一個消息連接,並從Actor的時間線拖動到theStore的時間線,完成該序列圖(圖二十二):

 
\

圖二十二:序列圖

右擊theStore對象,選擇Choose class-> Store,最終的序列圖會顯示出來,注意此時的對象名稱已經關聯到對應的類中了。點擊消息鏈,選擇Choose method-> findByTitle():void,將消息鏈與一個方法聯系起來(圖二十三):

 
\

圖二十三:消息鏈與方法進行關聯

在序列圖與協作圖之間進行轉換。在序列圖上右擊,選擇“Show as Collaboration”菜單命令,打開協作圖,此時,在工具箱內會顯示與協作圖相關的作圖工具。在協作圖上右擊鼠標,則可以通過上下文菜單轉換到序列圖中。

4、Together的擴展應用之一:對模式的支持

Together支持常用的模式,像“四人幫”(這個詞也許只有咱們中國的程序才可以想得出來,呵呵)提出的那個著名的23種設計模式。設計人員可以使用模式來創建或修改已存在的連接和類。

在下面的例子中,假設Item需要一個動態系統,那麼一個Item被返回後,計數器被更新及其他系統得到通知。應用Observer(觀察模式)到Item類,可以實現這些功能。

右擊Video Store類圖,選擇“Apply Pattern”,一個模式向導對話框會打開(圖二十四):

 
\
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved