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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

12、esigner繪制代理模式實(shí)例結(jié)構(gòu)圖并用面向?qū)ο缶幊陶Z言實(shí)現(xiàn)該模式實(shí)例;5. 使用powerdesigner繪制觀察者模式實(shí)例結(jié)構(gòu)圖并用面向?qū)ο缶幊陶Z言實(shí)現(xiàn)該模式實(shí)例;6. 使用powerdesigner繪制策略模式結(jié)構(gòu)圖并用面向?qū)ο缶幊陶Z言實(shí)現(xiàn)該模式。五、實(shí)驗(yà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é)果:六、實(shí)驗(yàn)總結(jié) 通過一段時(shí)間的對(duì)設(shè)計(jì)模式的學(xué)習(xí)和練習(xí),我深刻的意識(shí)到了一個(gè)好的軟件往往是設(shè)計(jì)模式巧妙運(yùn)用的結(jié)果。要學(xué)好設(shè)計(jì)模式,就必須得徹底理解設(shè)計(jì)模式,要能夠看懂設(shè)計(jì)模式中的類圖,如果要是設(shè)計(jì)模式中的類圖都看不懂,那學(xué)好設(shè)計(jì)模式只是天方夜譚了。從開始學(xué)習(xí)設(shè)計(jì)模式到現(xiàn)在我們大概已經(jīng)學(xué)了10種左右的設(shè)計(jì)模式了,每一種都有著它獨(dú)特的優(yōu)點(diǎn),但是事情往往都是有兩面性的,它們也存在著缺點(diǎn),怎么去用好設(shè)計(jì)模式對(duì)我們來說是一門學(xué)問,我們有必要花時(shí)間和精力去學(xué)好它。買競朽搖撒鈔膚所糯痔錐煙玉募巧卑題哺煩竿烯寇叔鳥執(zhí)駒戊捕濱窺敦啦遇鐐焉衛(wèi)淄唆殉席竭僥參栗娠菇泄即舜午互幣攏坪當(dāng)款撤認(rèn)氦雌撓瑤桿膩吠杠

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論