利用UML描述常見的幾種設(shè)計模式_第1頁
利用UML描述常見的幾種設(shè)計模式_第2頁
利用UML描述常見的幾種設(shè)計模式_第3頁
利用UML描述常見的幾種設(shè)計模式_第4頁
利用UML描述常見的幾種設(shè)計模式_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、軟件體系結(jié)構(gòu)實驗六利用UML描述常見的幾種設(shè)計模式一:實驗目的掌握設(shè)計模式在軟件設(shè)計中的作用,熟悉并了解一些常用的設(shè)計模式,進一步熟悉并鞏固Rational Rose 2003與Visio2003工具的使用,熟悉并了解IBM Rational Software Architecture 6.0工具的建模方法。二:實驗準備(1) 熟悉利用UMLRose2003與Visio2003建模的方法(2) 熟悉并了解軟件設(shè)計模式(3) 熟悉并了解IBM Rational Software Architecture 6.0的建模方法。三:實驗內(nèi)容設(shè)計面向?qū)ο筌浖容^困難,而設(shè)計可復用的面向?qū)ο筌浖透永щy

2、。你必須找到相關(guān)的對象,以適當?shù)牧6葘⑺鼈儦w類,再定義類的接口和繼承層次建立對象之間的基本關(guān)系。 在設(shè)計時,應該對手頭的問題有針對性,同時對將來的問題和需求也要有足夠的通用性,同時也希望避免重復設(shè)計或盡可能少做重復設(shè)計。一個設(shè)計模式是軟件開發(fā)中重復出現(xiàn)問題的解決方案;一種來源于具體問題形式的抽象,這種抽象在特定環(huán)境中出現(xiàn);在給定的問題環(huán)境和約束條件下,對通用問題的重復解決方案;一種經(jīng)過證明的、在給定條件下問題的有效的重復解決方案。它象一個“大金塊”傳遞了解決方案的本質(zhì)。(點石成金的方法)。經(jīng)過多次成功使用,已經(jīng)被證明的“最佳實踐方法”;用文字、圖表描述的方式來捕捉設(shè)計專家的智慧和經(jīng)驗,并把這些

3、經(jīng)驗傳遞給新手。對通用設(shè)計問題的重復解決方案,對真實世界問題的實踐的/具體的解決方案面向特定的問題環(huán)境權(quán)衡利弊之后得到的“最佳”解決方案,領(lǐng)域?qū)<液驮O(shè)計老手的“殺手锏”,用文檔的方式記錄的最佳實踐,在討論問題的解決方案時,一種可交流的詞匯,在使用(重用)、共享、構(gòu)造軟件系統(tǒng)中,一種有效地使用已有的智慧/經(jīng)驗/專家技術(shù)的方式。在面向?qū)ο蟮能浖O(shè)計中,可以利用UML對設(shè)計進行建模,對設(shè)計模式的建模包括建立內(nèi)部視圖和外部視圖 設(shè)計模式的內(nèi)部視圖是一組類圖和一組交互圖。 設(shè)計模式的外部視圖是一個參數(shù)化協(xié)作,協(xié)作參數(shù)命名。是模式的用戶必須綁定的元素。本次實驗要求同學們理解常見的組合模式(結(jié)構(gòu)類型)、工廠

4、模式(構(gòu)造類型)、責任鏈模式(行為類型)。并能根據(jù)具體的案例,選擇相應的設(shè)計模式,并根據(jù)該設(shè)計模式所定義的組成元素,組成元素之間的關(guān)連關(guān)系、約束關(guān)系,利用UML作出具體的設(shè)計。 在IBM Rational Software Architecture 6.0中,提供了Goff所總結(jié)的23種常見模式的模板,我們可以根據(jù)這些模板,實例化模板的參數(shù),最后得到一個具體的某種模式的設(shè)計。圖1-圖3描述了組件的一個設(shè)計。圖一:組件的設(shè)計模式圖(IBM RSA6.0中建模)圖二:組件的設(shè)計模式圖主題圖(IBM RSA6.0中建模)圖三:組件的瀏覽圖(IBM RSA6.0中建模)一:組合模式:一個例子:組件可以

5、分為原子組件與組合組件,原子組件是不能再分解的一個組件單元,組合組件則是由多個組件組成,而組成組合組件的這些組件既可以是原子組件,也可以是組合組件。這樣,原子組件可以通過組合構(gòu)成一個組合組件,原子組件與組合組件又可以通過組合構(gòu)成更大的組合組件。我們可以通過組合模式來設(shè)計一個組合組件的模型,圖三是利用IBM RationalSoftwareArchitecture所提供的組合模式設(shè)計出來的組件的結(jié)構(gòu)。圖四是利用Rational Rose類圖描述的組件的結(jié)構(gòu)圖。圖四:組件類圖(Rose2003) 圖形可以看成是一些基本圖形元素與組合圖形元素的組合體,其中基本的圖形元素包括點,線,園,矩形,橢圓形,

6、射線等基本元素。而一個最簡單的組合圖形元素是這些基本圖形元素組合在一塊形成的組合。通過組合,最終可以構(gòu)成用戶所需要的圖形。圖五描述了一個構(gòu)成的例子。一個文件夾由文件以及文件夾組成,而在這個文件夾里可能也是由文件及文件夾組成,因此,文件夾也是一種組合模式的實例,請根據(jù)上面所提供描述內(nèi)容,利用組合模式畫出圖形元素、文件夾的UML結(jié)構(gòu)圖。圖五:一個圖形例子圖六:一個文件夾的例子 二:責任鏈模式: 責任鏈模式是使多個對象都有機會處理請求,從而避免請求的對象和接收的對象之間的耦合關(guān)系,將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個對象處理它為止。例如一個圖形用戶界面中的上下文有關(guān)的幫助機制,用

7、戶在界面的任一部分上按F1鍵就應該可以得到幫助信息,所提供的幫助依賴于點擊的是界面的哪一部分以及上下文環(huán)境。顯然,在這種模式中,我們應根據(jù)從最特殊到最普遍的順序來組織幫助信息,這樣,用戶所得到的幫助應是最體現(xiàn)了用戶的需求。圖七 對象責任鏈類之間調(diào)用圖根據(jù)上面的提示,請畫出它們之間的對象交互圖以及類圖。圖八:幫助責任鏈序列圖 圖九:責任鏈類圖 抽象工廠模式與工廠模式: 抽象工廠模式與工廠模式的區(qū)別:抽象工廠模式比工廠模式更復雜,更靈活,一個抽象工廠模式或以先創(chuàng)建出多個具體的工廠,這些具體的工廠再創(chuàng)建出具體的產(chǎn)品。抽象工廠模式關(guān)鍵在于工廠類是多層次的,有父工廠類和子工廠類,父工廠類可以產(chǎn)生子工廠類,再由子工廠類生產(chǎn)出產(chǎn)品,這樣產(chǎn)品也可以是由復雜關(guān)系的,也可以說多種的。創(chuàng)建產(chǎn)品時,它是由具體工廠的實例的操作來完成的。 抽象工廠模式:多個抽象產(chǎn)品類,每個抽象產(chǎn)品類可以派生出多個具體產(chǎn)品類。 工廠方法模式:一個抽象產(chǎn)品類,可以派生出多個具體產(chǎn)品類。由這些類來創(chuàng)建實例圖十:生成不同平臺的控件的設(shè)計圖(簡化了的抽象工廠模式)圖十一:生成不同控件的設(shè)計圖(工廠模式)根據(jù)上面分析與實例所描述抽象工廠模式與工廠模式的區(qū)別及聯(lián)系,考慮一個游戲中的人物的創(chuàng)建,試著利用這兩種模式對游戲中創(chuàng)建人物的方法進行建模。(提示:為了描述在不同的場景中的人物建立,可以認為不同的場景是不同

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論