




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、中南大學(xué)軟件學(xué)院 申西夫罟 軟件體系結(jié)構(gòu) 設(shè)計模式實驗報告 學(xué)生姓名:宋昂 所在學(xué)院:軟件學(xué)院 學(xué)生學(xué)號: 3901080115 學(xué)生班級:軟件0801 指導(dǎo)老師:劉偉 一、實驗?zāi)康?熟練使用 PowerDesigner 和任意一種面向?qū)ο缶幊陶Z言實現(xiàn)幾種常見的設(shè)計模式,包括 簡單工廠模式、 工廠方法模式、 抽象工廠模式、單例模式和適配器模式,理解每一種設(shè)計模 式的模式動機, 掌握模式結(jié)構(gòu), 學(xué)習(xí)如何使用代碼實現(xiàn)這些模式, 并學(xué)會分析這些模式的使 用效果。 二、實驗內(nèi)容 使用 PowerDesigner 和任意一種面向?qū)ο缶幊陶Z言實現(xiàn)簡單工廠模式、工廠方法模式、 抽象工廠模式、 單例模式和適配
2、器模式, 包括根據(jù)實例繪制模式結(jié)構(gòu)圖、 編寫模式實例實現(xiàn) 代碼,運行并測試模式實例代碼。 (1) 簡單工廠模式 使用簡單工廠模式設(shè)計一個可以創(chuàng)建不同幾何形狀(Shape)的繪圖工具類,如可創(chuàng)建圓 形(Circle)、方形(Rectangle)和三角形(Triangle)對象,每個幾何圖形都要有繪制 draw()和擦 除erase()兩個方法,要求在繪制不支持的幾何圖形時, 提示一個UnsupportedShapeException, 繪制類圖并編程實現(xiàn)。 (2) 簡單工廠模式 使用簡單工廠模式模擬女媧 (Nvwa)造人(Person),如果傳入?yún)?shù)“ M ”,則返回一個 Man 對象,如果傳入
3、參數(shù) “W”,則返回一個 Woman對象,使用任意一種面向?qū)ο缶幊陶Z言實現(xiàn) 該場景。現(xiàn)需要增加一個新的Robot類,如果傳入?yún)?shù)“ R”,則返回一個 Robot對象,對 代碼進行修改并注意女媧的變化。 (3) 工廠方法模式 某系統(tǒng)日志記錄器要求支持多種日志記錄方式, 如文件記錄、 數(shù)據(jù)庫記錄等, 且用戶可 以根據(jù)要求動態(tài)選擇日志記錄方式, 現(xiàn)使用工廠方法模式設(shè)計該系統(tǒng)。 用代碼實現(xiàn)日志記錄 器實例,如果在系統(tǒng)中增加一個中的日志記錄方式控制臺日志記錄(ConsoleLog) ,繪制 類圖并修改代碼,注意增加新日志記錄方式過程中原有代碼的變化。 (4) 工廠方法模式 現(xiàn)需要設(shè)計一個程序來讀取多種不
4、同類型的圖片格式,針對每一種圖片格式都設(shè)計一個 圖片讀取器(PageReader),如GIF圖片讀取器(GifReader)用于讀取 GIF格式的圖片、JPG圖 片讀取器(JpgReader)用于讀取 JPG格式的圖片。圖片讀取器對象通過圖片讀取器工廠 ImageReaderFactory來創(chuàng)建,ImageReaderFactory是一個抽象類,用于定義創(chuàng)建圖片讀取器 的工廠方法,其子類GifReaderFactory和JpgReaderFactory用于創(chuàng)建具體的圖片讀取器對象。 使用工廠方法模式實現(xiàn)該程序的設(shè)計。 (5) 抽象工廠模式 某系統(tǒng)為了改進數(shù)據(jù)庫操作的性能,自定義數(shù)據(jù)庫連接對象C
5、onnection和語句對象 Statement,可針對不同類型的數(shù)據(jù)庫提供不同的連接對象和語句對象,如提供Oracle或SQL Server專用連接類和語句類,而且用戶可以通過配置文件等方式根據(jù)實際需要動態(tài)更換系統(tǒng) 數(shù)據(jù)庫。使用抽象工廠模式設(shè)計該系統(tǒng)。用代碼模擬實現(xiàn)數(shù)據(jù)庫操作工廠實例,要求可以通 過配置文件改變數(shù)據(jù)庫類型。 (6) 抽象工廠模式 計算機包含內(nèi)存(RAM)、CPU等硬件設(shè)備,根據(jù)下面的“產(chǎn)品等級結(jié)構(gòu)-產(chǎn)品族”示意 圖,使用抽象工廠模式實現(xiàn)計算機設(shè)備創(chuàng)建過程并繪制相應(yīng)的類圖。 (7) 單例模式 使用單例模式的思想實現(xiàn)多例模式,確保系統(tǒng)中某個類的對象只能存在有限個,如兩個 或三個,
6、設(shè)計并編寫代碼實現(xiàn)一個多例類。 (8) 單例模式 使用單例模式設(shè)計一個多文檔窗口(注:在Java AWT/Swing開發(fā)中可使用JDesktopPane 和JinternalFrame來實現(xiàn)),要求在主窗體中某個內(nèi)部子窗體只能實例化一次,即只能彈出 一個相同的子窗體,如下圖所示: n rift:.7 X (注:用C#或C+實現(xiàn)類似功能也可以) (9) 適配器模式 現(xiàn)有一個接口 DataOperation定義了排序方法 sort(int)和查找方法 search。nt, int),已 知類Quicksort的quicksort。nt)方法實現(xiàn)了快速排序算法,類BinarySearch的 bina
7、rySearch(int, int)方法實現(xiàn)了二分查找算法?,F(xiàn)使用適配器模式設(shè)計一個系統(tǒng),在不修 改源代碼的情況下將類QuickSort和類BinarySearch的方法適配到 DataOperation接口中。繪 制類圖并編程實現(xiàn)。(要求實現(xiàn)快速排序和二分查找) (10) 適配器模式 使用任意一種面向?qū)ο缶幊陶Z言實現(xiàn)一個雙向適配器實例,使得貓可以學(xué)狗叫,狗可以 學(xué)貓抓老鼠。繪制相應(yīng)類圖并使用代碼編程模擬。 三、實驗要求 1. 正確無誤繪制簡單工廠模式、工廠方法模式、抽象工廠模式、單例模式和適配器模 式實例的模式結(jié)構(gòu)圖; 2. 使用任意一種面向?qū)ο缶幊陶Z言實現(xiàn)簡單工廠模式、工廠方法模式、抽象工
8、廠模式、 單例模式和適配器模式實例,代碼運行正確無誤。 四、實驗步驟 1. 熟悉PowerDesigner15的常用功能; 2. 使用PowerDesigner繪制簡單工廠模式實例結(jié)構(gòu)圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模 式實例; 3. 使用PowerDesigner繪制工廠方法模式實例結(jié)構(gòu)圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模 式實例; 4. 使用PowerDesigner繪制抽象工廠模式實例結(jié)構(gòu)圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模 式實例; 5. 使用PowerDesigner繪制單例模式實例結(jié)構(gòu)圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模式實 例; 6. 使用PowerDesigner繪制適配器模式結(jié)構(gòu)圖并用面向?qū)ο缶幊?/p>
9、語言實現(xiàn)該模式。 五、實驗結(jié)果 (1) 簡單工廠模式1: 類圖: 乂無i 1弩逓: 結(jié)果: 1 匚匸二總弋/匸丄日書呂羽 胡出 9 I terminLated Client 佇)Jaira Application D: Mjreclipse6. 5jrebinjavaw. exe (Jec 7 2010 12 :44 :D5 Pffl) 社旱一個園*我尋吹直包 我是一個圓,我要唱牛奶 1 2 Nu.ll 4 ig 5 I Frobiems 更 lavadoc .* Declaration S Console昴 Servers 言-;Kistory iffi LogjCat 菇 Detuj Cl
10、iaM 0) 口 - b TiriBp r ie ZiriLE - =二巧v=lz bLcv Q :T-i= 結(jié)果: erm 1 nat eCl 1 eat (3) LJar Appli cati on D: fflyeclipse6. 5jr ebiaj avaw. ee Qec T2010 12:49: 44 PM J 哈哈,我是機器人,我婪代表女蝎消夾你們 - Fr obi sift s 更 Javadoc ”;r Dtcltratioik ConsoleStrvsrx fJ HistoryLogf at 菇B電bug : Ct erm i nat e d.)- Cli ent (3j)
11、 Java Application D: MlyeclipseG. SjrebiTtjavaw_ exe (Dec 72010 12:51 :24 PM) 對不起,女蝎不甫瞄你創(chuàng)造該類寶寶噢 4 configy B 3 * ca sa Nazoa 弓 3 (3) 工廠方法模式1 類圖: 結(jié)果: 1 | 2 CclasMC0E30 le F act or7 4 Jivadoc 掩 Decljrati on 田 Coivs0*1 e舉 Servers 涉 ffi stoirjr l 11 LoiCat 5 Pr oblems Client (4) 口直g Applicalion D. Myftcl
12、ipse6. 5jr 2010 1:04:08 FM) 獲取Oracle的匚0匸1)亡口;10劇裳 獲取 Oracle 的 St 己 t eme 1 2 3 MyS q 1 Fa ct o r /cLas3aT.e 4 Client (6) Java Appli c 201 0 108 : 25 FM) 5ingle126b29 Single126b249 Single126bH9 Singl ftcQip s:fl6. 5jreAbi e. j vvwh . eat e (Dec T 2010 1: 1:14 PM) arr.; 15 67 13 C7 73 3 WG 23 75 了哼 lS
13、7 4 盯4在埶俎里両的恆螢是* 那炸: 什界乍:工下標(biāo):7當(dāng)前嘔序:1 95 56 67 EX ?B 3 57 23 “競3勺 分界普;藥 T標(biāo)當(dāng)前*固序;1日陽跆a *5 3EC7 67 - 5氈 分界營沖下標(biāo);:考前順序;1 3 3* 23 13 *5 357 67 m 5t 分畀氏陽下林:$當(dāng)前MS庠r 1 3 23 34 43磚7B 671 87 67 7tiS EC 分畀營:丁旦下標(biāo)乜為前順序:1 H 陰護好S7訂l=審I rE fiTfl 伶界竽:石下掃-當(dāng)前緬序:1 3找站43 4= 56 67 -口 5滬F昭4 竹界苫:5石7 下懷;卻営麗1觴:1 3 23 3 43 45
14、56 曠78 5d7 7t5 74 廿界普汀點5 下標(biāo):】丄當(dāng)前順喬;123 勢鮎非即Tfi 65 (10)適配器模式2 類圖: O-Cat K I TSCs: J. , vc);d a r j c.e AMLjiEA * *Bi: G*T Mill * 9E-.E ; &E= niil】 +urfc亡rt (C*i cii l. e _; _e * S9S.SIniiS 豐 ! d.臼上匸Dogdcg; a.selzeMase C .Ilftclaration Ccnsole幕 Servers 備 Hi story LogCtt 鮮 Dabuc twirmiiiSLtEd Cli eat (1) Ja.va Appli cationj D: VlMy皂dipEjesG. 5ji皀IbxiAjavaw- exe e 1, 2010 1:22:42 PM: 汪汪汪 老議你跑不了了呀 六、實驗總結(jié) 通過一段時
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉庫客戶投訴處理總結(jié)計劃
- 疼痛管理科醫(yī)生工作計劃
- 學(xué)期主題班會活動方案計劃
- 康復(fù)科服務(wù)質(zhì)量提升的策略與計劃
- 史明清時期的科技與文化 課件 2024-2025學(xué)年統(tǒng)編版七年級歷史下冊
- 看護行業(yè)月度個人工作計劃
- 數(shù)學(xué)平方根講解與練習(xí):課件復(fù)習(xí)
- 行政管理專業(yè)試題與復(fù)習(xí)建議
- 健康管理與員工關(guān)懷措施計劃
- 醫(yī)師考試中的思維模式與試題
- 高血壓危象課件
- 民航行業(yè)智能化民航運輸與服務(wù)方案
- 新版加油站全員安全生產(chǎn)責(zé)任制
- 工程機械智能化安全系統(tǒng)
- 廣東省廣州三校2023-2024學(xué)年高二下學(xué)期期末考試+物理試卷(含答案)
- 獵聘-2024高校畢業(yè)生就業(yè)數(shù)據(jù)報告
- 火龍罐綜合灸技術(shù)
- 駕駛員安全駕駛培訓(xùn)課件
- 員工勞務(wù)合同書
- 建筑公司掛靠協(xié)議書范文
- 《杠桿 第1課時》示范公開課教學(xué)設(shè)計【初中物理蘇科版九年級上冊】
評論
0/150
提交評論