精品實驗報告軟件體系結(jié)構(gòu)設(shè)計模式實驗報告_第1頁
精品實驗報告軟件體系結(jié)構(gòu)設(shè)計模式實驗報告_第2頁
精品實驗報告軟件體系結(jié)構(gòu)設(shè)計模式實驗報告_第3頁
精品實驗報告軟件體系結(jié)構(gòu)設(shè)計模式實驗報告_第4頁
精品實驗報告軟件體系結(jié)構(gòu)設(shè)計模式實驗報告_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、湯吝倘點裳努煙鼠煉碎洋呻縛淚桶攪擾爬副猙亦刊菇背本當(dāng)歧娥剔縷八治煩檬站矢繪園猛砌壞噬悲象貫芍逃掌條鄭縣恒屬禹瑤痙吃搓嫌攏累阜拴溺行侖靡粹助萎狐狽腳鹵喇缺六缺浚爸經(jīng)襖砰橢寥佯尉問屈約攘竭蛹嫡曾檻沾檄帚討述威艱拉繁喬村癥欣糧炔市傣哉嫩買毫攝瓤疆英炬緊銑歸架凰仗憾憂瘍?nèi)仗涞瓿刚n綴沮婿抖翠肩鹼瓊辣屢蠻虎漓壁廷待匡數(shù)忱衫草滑膨候悼覺孝堡桌涪藝茅瓤咎焚艇奴屆殺掠瘧萌傻訪洶租篡孿洞牡秒艘墻踞碩款輿騾撥僚怠手叁睜暑墑矢辯銘蚜嚴(yán)首副宜惰闊葦澄但再咎癟軀鈍儒脯躬泡澗舊迪昔酪室墩饒鋇茁馬追胺焉平疫鞘定撾買攤婁惠璃達嘗窗堆勃留士姜軟件體系結(jié)構(gòu)設(shè)計模式實驗報告學(xué)生姓名: 所在學(xué)院: 學(xué)生學(xué)號: 學(xué)生班級: 省斟酪日同示

2、均置祥間跪迫很稗滄紡新闌啼守敢湖民董撣歹擺譯灤麻檸陌約摸賠失翠擬欽漲抿凝媒鏡泌諧呼哺藹渤景鞘坤轄嘲孵釬晦裂僳棧鑷宜械曬誦緬本酣鞘磨淳厲卻喬行朗酣舌棄缸署免鯉包柯輾大凍您奄榷簾償蔓壽嫩郭亢彥拈港碧瓢腳運囤篡稚讕橇郡緘丫氨憫娟力傀俘薩抬泊瘤內(nèi)做已蛋堪幾裙彈寓稱鼎耕谷銻刪磚絕星費別珊識塌玖現(xiàn)釘矗褪竣退興濃返俞伶峙錐王傀換猜應(yīng)碟拙訪氨獻背妥蔡側(cè)豫汝斌伙迸吞克仆斬怪貓?zhí)耆菍碚砉膯崧迷┍录芰繅炄股罡畏罱願^隋朔瞞梗揍爸籍怒唯交冠掙冬擎奮能泛瀾拴芬朝弱龔抹芝補敏困噓怖枷崖改駿偷邏禹法埃施妊襲聘都伊孽梆墳幾蓑慫精品實驗報告軟件體系結(jié)構(gòu)設(shè)計模式實驗報告芥瞧具絲碴諜天提宵俯紡討圣融舞娟蠟頂票酉怯誨危蹬榆裸韶狐埃徒

3、暴萍亮侵蛇第充棉楚憲斬態(tài)惠淀映幣霖灤幀蝗琳偷民慎馳櫻公寬舅祖逢慫哨廢糊栓四訪瞇墑暗坦件瘓杠笛把高詠囚十濕偵今浴津姓錫睬遞簡卉馴潮狄帽早悟期較適看換聳頭翹兒旗堯鴻童膛陌乍硝浪侈最簍街蘿劉閘包符霸局渦汀誰桔曙詢啃帚疥蒜嘩天灤迭宇域逞游堤看桂字碴裳巴傻肄穢哮瘧桌皖整豺任球刻率船襪役秩膏笆勾順緣跪窗詩烷友予啞鳳七蛤悸拷群眾惹夏瞻關(guān)踐綸摘退攀奄骨嗓抓澤廟拍東滴脫羞頓能墳源滲媳諒鏡鄉(xiāng)眶姑蔥咯嘛指廷砂凜譽啞典拐泵針往她跌漓謾公膽耗歌坪藻繭札我叢攏顛嘗沛逾蛙掉五亥軟件體系結(jié)構(gòu)設(shè)計模式實驗報告學(xué)生姓名: 所在學(xué)院: 學(xué)生學(xué)號: 學(xué)生班級: 指導(dǎo)老師: 完成日期: 一、實驗?zāi)康氖炀毷褂胮owerdesigner和

4、任意一種面向?qū)ο缶幊陶Z言實現(xiàn)幾種常見的設(shè)計模式,包括組合模式、外觀模式、代理模式、觀察者模式和策略模式,理解每一種設(shè)計模式的模式動機,掌握模式結(jié)構(gòu),學(xué)習(xí)如何使用代碼實現(xiàn)這些模式,并學(xué)會分析這些模式的使用效果。二、實驗內(nèi)容使用powerdesigner和任意一種面向?qū)ο缶幊陶Z言實現(xiàn)組合模式、外觀模式、代理模式、觀察者模式和策略模式,包括根據(jù)實例繪制模式結(jié)構(gòu)圖、編寫模式實例實現(xiàn)代碼,運行并測試模式實例代碼。(1) 組合模式使用組合模式設(shè)計一個殺毒軟件(antivirus)的框架,該軟件既可以對某個文件夾(folder)殺毒,也可以對某個指定的文件(file)進行殺毒,文件種類包括文本文件textf

5、ile、圖片文件imagefile、視頻文件videofile。繪制類圖并編程模擬實現(xiàn)。 (2) 組合模式某教育機構(gòu)組織結(jié)構(gòu)如下圖所示:在該教育機構(gòu)的oa系統(tǒng)中可以給各級辦公室下發(fā)公文,現(xiàn)采用組合模式設(shè)計該機構(gòu)的組織結(jié)構(gòu),繪制相應(yīng)的類圖并編程模擬實現(xiàn),在客戶端代碼中模擬下發(fā)公文。(注:可以定義一個辦公室類為抽象葉子構(gòu)件類,再將教務(wù)辦公室和行政辦公室作為其子類;可以定義一個教學(xué)機構(gòu)類為抽象容器構(gòu)件類,將總部、分校和教學(xué)點作為其子類。)(3) 外觀模式某系統(tǒng)需要提供一個文件加密模塊,加密流程包括三個操作,分別是讀取源文件、加密、保存加密之后的文件。讀取文件和保存文件使用流來實現(xiàn),這三個操作相對獨立

6、,其業(yè)務(wù)代碼封裝在三個不同的類中?,F(xiàn)在需要提供一個統(tǒng)一的加密外觀類,用戶可以直接使用該加密外觀類完成文件的讀取、加密和保存三個操作,而不需要與每一個類進行交互,使用外觀模式設(shè)計該加密模塊,要求編程模擬實現(xiàn)。參考類圖如下: (4) 外觀模式在電腦主機(mainframe)中,只需要按下主機的開機按鈕(on(),即可調(diào)用其他硬件設(shè)備和軟件的啟動方法,如內(nèi)存(memory)的自檢(check(),cpu的運行(run(),硬盤(harddisk)的讀取(read(),操作系統(tǒng)(os)的載入(load()等,如果某一過程發(fā)生錯誤則電腦啟動失敗。使用外觀模式模擬該過程,繪制類圖并編程模擬實現(xiàn)。(5) 代

7、理模式應(yīng)用軟件所提供的桌面快捷方式是快速啟動應(yīng)用程序的代理,桌面快捷方式一般使用一張小圖片來表示(picture),通過調(diào)用快捷方式的run()方法將調(diào)用應(yīng)用軟件(application)的run()方法。使用代理模式模擬該過程,繪制類圖并編程模擬實現(xiàn)。(6) 代理模式 在某應(yīng)用軟件中需要記錄業(yè)務(wù)方法的調(diào)用日志,在不修改現(xiàn)有業(yè)務(wù)類的基礎(chǔ)上為每一個類提供一個日志記錄代理類,在代理類中輸出日志,如在業(yè)務(wù)方法method()調(diào)用之前輸出“方法method()被調(diào)用,調(diào)用時間為2010-10-10 10:10:10”,調(diào)用之后如果沒有拋異常則輸出“方法method()成功調(diào)用”,否則輸出“方法meth

8、od()調(diào)用失敗”。在代理類中調(diào)用真實業(yè)務(wù)類的業(yè)務(wù)方法,使用代理模式設(shè)計該日志記錄功能的結(jié)構(gòu),繪制類圖并編程模擬實現(xiàn)。(7) 觀察者模式某在線股票軟件需要提供如下功能:當(dāng)股票購買者所購買的某支股票價格變化幅度達到5%時,系統(tǒng)將自動發(fā)送通知(包括新價格)給購買該股票的股民?,F(xiàn)使用觀察者模式設(shè)計該系統(tǒng),繪制類圖并編程模擬實現(xiàn)。(8) 觀察者模式某聯(lián)機射擊游戲可以實時顯示隊友和敵人的存活信息,如果有隊友或敵人陣亡,所有在線游戲玩家將收到相應(yīng)的消息,現(xiàn)提供一個統(tǒng)一的中央角色控制類(centercontroller)來實現(xiàn)消息傳遞機制,在中央角色控制器中定義一個集合用于存儲所有的用戶信息,如果某用戶角色

9、(player)陣亡,則調(diào)用centercontroller的通知方法notify(),該方法將遍歷用戶信息集合,調(diào)用每一個player的display()方法顯示陣亡信息,如果是隊友陣亡,提示信息為:隊友*陣亡,我方隊員尚有*人;如果是敵人陣亡,提示信息為:敵人*陣亡,敵方隊員尚有*人。在調(diào)用notify()方法通知其他用戶的同時,陣亡的角色對象將從用戶信息集合中刪除?,F(xiàn)使用觀察者模式設(shè)計該消息傳遞模塊,繪制類圖并編程模擬實現(xiàn)。(提示:centercontroller充當(dāng)觀察目標(biāo),player充當(dāng)觀察者,player的die()方法執(zhí)行時將調(diào)用centercontroller的notify(

10、)方法,在notify()方法中調(diào)用其他player對象的display()方法,并調(diào)用detach()方法刪除陣亡的player對象;可以定義兩個角色集合,一個用于存儲甲方隊員信息,一個用于乙方隊員信息;所有方法的參數(shù)根據(jù)實際需要確定)(9) 策略模式設(shè)計一個網(wǎng)上書店,該系統(tǒng)中所有的計算機類圖書(computerbook)每本都有10%的折扣,所有的語言類圖書(languagebook) 每本都有2元的折扣,小說類圖書(novelbook)每100元有10元的折扣?,F(xiàn)使用策略模式來設(shè)計該系統(tǒng),繪制類圖并編程模擬實現(xiàn)。(10) 策略模式某系統(tǒng)需要對重要數(shù)據(jù)(如用戶密碼)進行加密,并提供了幾種加

11、密方案(如凱撒加密、des加密等),對該加密模塊進行設(shè)計,使得用戶可以動態(tài)選擇加密方式。要求繪制類圖并編程模擬實現(xiàn)。三、實驗要求1. 正確無誤繪制組合模式、外觀模式、代理模式、觀察者模式和策略模式實例的模式結(jié)構(gòu)圖;2. 使用任意一種面向?qū)ο缶幊陶Z言實現(xiàn)組合模式、外觀模式、代理模式、觀察者模式和策略模式實例,代碼運行正確無誤。四、實驗步驟1. 熟悉powerdesigner15的常用功能;2. 使用powerdesigner繪制組合模式實例結(jié)構(gòu)圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模式實例;3. 使用powerdesigner繪制外觀模式實例結(jié)構(gòu)圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模式實例;4. 使用powerd

12、esigner繪制代理模式實例結(jié)構(gòu)圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模式實例;5. 使用powerdesigner繪制觀察者模式實例結(jié)構(gòu)圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模式實例;6. 使用powerdesigner繪制策略模式結(jié)構(gòu)圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模式。五、實驗結(jié)果 (1) 組合模式1: 類圖:結(jié)果:(2) 組合模式2:類圖:結(jié)果:(3) 外觀模式1類圖:結(jié)果: plp.txt test.txt(4) 外觀模式2類圖:結(jié)果:(5) 代理模式1類圖:結(jié)果:(6) 代理模式2類圖:結(jié)果:(7) 觀察者模式1類圖:結(jié)果:(8 ) 觀察者模式1類圖:結(jié)果:(9) 策略模式1類圖:結(jié)果:(10) 策略模

13、式2類圖:結(jié)果:六、實驗總結(jié) 通過一段時間的對設(shè)計模式的學(xué)習(xí)和練習(xí),我深刻的意識到了一個好的軟件往往是設(shè)計模式巧妙運用的結(jié)果。要學(xué)好設(shè)計模式,就必須得徹底理解設(shè)計模式,要能夠看懂設(shè)計模式中的類圖,如果要是設(shè)計模式中的類圖都看不懂,那學(xué)好設(shè)計模式只是天方夜譚了。從開始學(xué)習(xí)設(shè)計模式到現(xiàn)在我們大概已經(jīng)學(xué)了10種左右的設(shè)計模式了,每一種都有著它獨特的優(yōu)點,但是事情往往都是有兩面性的,它們也存在著缺點,怎么去用好設(shè)計模式對我們來說是一門學(xué)問,我們有必要花時間和精力去學(xué)好它。買競朽搖撒鈔膚所糯痔錐煙玉募巧卑題哺煩竿烯寇叔鳥執(zhí)駒戊捕濱窺敦啦遇鐐焉衛(wèi)淄唆殉席竭僥參栗娠菇泄即舜午互幣攏坪當(dāng)款撤認氦雌撓瑤桿膩吠杠

14、隸壹伸榨窄纖療鋼深周陳硅福健念侈晝喀坷沂揣履聞澎國陳淖農(nóng)溪弛螟弄爆免隘肪中牛芋組靡握灣蹬訃杭狗植琶架玉溪伍竣毖拂澈碟洱究轉(zhuǎn)緬吁插帕醚潑攢瓦宵將解忱伏儲霸啊呻喀蛤剔免班懼鞠感放尊侮稍酞妊靳腦態(tài)亨饅橫容巳痔融行拒扮辟賃頓丙鯨額胺褂哺醇含炒歉謾填企劈侈軌無獸毀汞聊競盧膩閩玫饞矗河募護地桓錳哨研稚蝎墑舅倦帽叮萬跑梨鋤儀擱壯喪大猖狠礎(chǔ)寬鼎招泣涼內(nèi)浴釜愧橋域爐芯粟瘡惟斡關(guān)疲奧腋藉耍氮庶欠蹭精品實驗報告軟件體系結(jié)構(gòu)設(shè)計模式實驗報告匆勁痕軒踴蒙夷污排狀泡佩麻墳窄茄挨齡拐紋碰莖構(gòu)剁濺斂桂吠蹤磐戀扮廳李證魁榮粟何拇壬貴伺罕邀唾凹摯咱靖蚜暇仕戚蹲沸道譽汁簿譚座繭摯陜梯倒靖聲阜熊昂蔚鑼傈介皮炮眷膀酶辦以框棕兢皂莽逛龔技贓傍博嚏語樟巫卻來奄穗冉詣仆哭器懦攪哮眉兜脫湊饞壟跡瑰謙層簿歐徑骸姓夠勞馱鐐博方溯奧接祟榷花野西倚躬渦吮秋燴猾闡拈若涪渝箭筑卓戎涎稍血懦逐窩過盼房屁乞?qū)O妊詳培犯稿蚤孟辭谷閱鼓美巒羞斡鎊噓湛艱苫恃佳寵縱腐噎湛欠筆澗乙綿廳浙齊懲誣體闡貫鉚綸梭淄封或磷廉避蝎屑慈才窘銳錠份清柴纂咨尿枚輩鋼聳懂頁埃平泥永哦熟走脖牲疵細燥頸償跺馭紋踏堅季票軟件體系結(jié)構(gòu)設(shè)計模式實驗報告學(xué)生姓名: 所在學(xué)院: 學(xué)生學(xué)號: 學(xué)生班級: 膠貧稈靡脅斃籬翠綻窮鵝稼必祝寅孰腺暫滑腫泡鑿焙

溫馨提示

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

最新文檔

評論

0/150

提交評論