




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、設計模式實驗指導一、實驗目的使用合理的UML建模工具(ROSE或者Visio)和任意一種面向?qū)ο缶幊陶Z言實現(xiàn)幾種常用的設計模式,加深對這些模式的理解,包括簡單工廠模式、工廠方法模式、抽象工廠模式、單例模式、適配器模式、組合模式、裝飾模式、外觀模式、命令模式、迭代器模式、觀察者模式、策略模式等12種模式。二、實驗內(nèi)容根據(jù)以下的文檔描述要求,使用合理的UML建模工具(ROSE或者Visio)和任意一種面向?qū)ο缶幊陶Z言實現(xiàn)以下設計模式,包括根據(jù)實例繪制相應的模式結構圖、編寫模式實現(xiàn)代碼,運行并測試模式實例代碼。(1)、 簡單工廠模式使用簡單工廠模式模擬女媧(Nvwa)造人(Person),如果傳入?yún)?/p>
2、數(shù)M,則返回一個Man對象,如果傳入?yún)?shù)W,則返回一個Woman對象,請實現(xiàn)該場景?,F(xiàn)需要增加一個新的Robot類,如果傳入?yún)?shù)R,則返回一個Robot對象,對代碼進行修改并注意女媧的變化。(2)、 工廠方法模式海爾工廠(Haier)生產(chǎn)海爾空調(diào)(HaierAirCondition),美的工廠(Midea)生產(chǎn)美的空調(diào)(MideaAirCondition) 。使用工廠方法模式描述該場景,繪制類圖并編程實現(xiàn)。(3)、 抽象工程模式電腦配件生產(chǎn)工廠生產(chǎn)內(nèi)存、CPU等硬件設備,這些內(nèi)存、CPU的品牌、型號并不一定相同,根據(jù)下面的“產(chǎn)品等級結構-產(chǎn)品族”示意圖,使用抽象工廠模式實現(xiàn)電腦配件生產(chǎn)過程并繪
3、制相應的類圖,繪制類圖并編程實現(xiàn)。(4)、 單例模式用懶漢式單例實現(xiàn)在某系統(tǒng)運行時,其登錄界面類LoginForm只能夠彈出一個,如果第二次實例化該類則提示“程序已運行”。繪制類圖并編程實現(xiàn)。提示:不要求做界面,用類模擬界面就可以了。(5)、 組合模式使用組合模式設計一個殺毒軟件(AntiVirus)的框架,該軟件既可以對某個文件夾(Folder)殺毒,也可以對某個指定的文件(File)進行殺毒,文件種類包括文本文件TextFile、圖片文件ImageFile、音頻視頻文件MediaFile。繪制類圖并編程實現(xiàn)。(6)、 適配器模式現(xiàn)有一個接口DataOperation定義了排序方法sort(
4、int) 和查找方法search(int, int),已知類QuickSort的quickSort(int)方法實現(xiàn)了快速排序算法,類BinarySearch 的binarySearch(int, int)方法實現(xiàn)了二分查找算法?,F(xiàn)使用適配器模式設計一個系統(tǒng),在不修改源代碼的情況下將類QuickSort和類BinarySearch的方法適配到DataOperation接口中。繪制類圖并編程實現(xiàn)。 (要求實現(xiàn)快速排序和二分查找)(7)、 裝飾模式某圖書管理系統(tǒng)中,書籍類(Book)具有借書方法borrowBook()和還書方法returnBook() ?,F(xiàn)需要動態(tài)給書籍對象添加凍結方法freez
5、e()和遺失方法lose()。使用裝飾模式設計該系統(tǒng),繪制類圖并編程實現(xiàn)。(8)、 外觀模式在電腦主機(Mainframe)中,只需要按下主機的開機按鈕(on(),即可調(diào)用其他硬件設備和軟件的啟動方法,如內(nèi)存(Memory)的自檢(check(),CPU的運行(run(),硬盤(HardDisk)的讀取(read(),操作系統(tǒng)(OS)的載入(load()等,如果某一過程發(fā)生錯誤則電腦啟動失敗。使用外觀模式模擬該過程,繪制類圖并編程實現(xiàn)。(9)、 命令模式某軟件公司欲開發(fā)一個基于Windows平臺的公告板系統(tǒng)。系統(tǒng)提供一個主菜單(Menu),在主菜單中包含了一些菜單項(MenuItem),可以通
6、過Menu類的addMenuItem()方法增加菜單項。菜單項的主要方法是click(),每一個菜單項包含一個抽象命令類,具體命令類包括OpenCommand(打開命令),CreateCommand(新建命令),EditCommand(編輯命令)等,命令類具有一個execute()方法,用于調(diào)用公告板系統(tǒng)界面類(BoardScreen)的open()、create()、edit()等方法。現(xiàn)使用命令模式設計該系統(tǒng),使得MenuItem類與BoardScreen類的耦合度降低,繪制類圖并編程實現(xiàn)。(10)、 迭代器模式某商品管理系統(tǒng)的商品名稱存儲在一個字符串數(shù)組中,現(xiàn)需要自定義一個雙向迭代器(M
7、yIterator)實現(xiàn)對該商品名稱數(shù)組的雙向(前向和后向)遍歷。繪制類圖并編程實現(xiàn)(設計方案必須符合DIP)。(11)、 觀察者模式某在線股票軟件需要提供如下功能:當股票購買者所購買的某支股票價格變化幅度達到5%時,系統(tǒng)將自動發(fā)送通知(包括新價格)給購買該股票的股民?,F(xiàn)使用觀察者模式設計該系統(tǒng),繪制類圖并編程實現(xiàn)。(12)、 策略模式設計一個網(wǎng)上書店,該系統(tǒng)中所有的計算機類圖書(ComputerBook)每本都有10%的折扣,所有的語言類圖書(LanguageBook) 每本都有2元的折扣,小說類圖書(NovelBook)每100元有10元的折扣?,F(xiàn)使用策略模式來設計該系統(tǒng),繪制類圖并編程實
8、現(xiàn)。三、實驗要求1. 正確無誤繪制簡單工廠模式、工廠方法模式、抽象工廠模式、單例模式、適配器模式、組合模式、裝飾模式、外觀模式、命令模式、迭代器模式、觀察者模式、策略模式的模式結構圖;2. 使用任意一種面向?qū)ο缶幊陶Z言實現(xiàn)簡單工廠模式、工廠方法模式、抽象工廠模式、單例模式、適配器模式、組合模式、裝飾模式、外觀模式、命令模式、迭代器模式、觀察者模式、策略模式,代碼運行正確無誤。四、實驗步驟第一次實驗課完成:使用Rose或者Visio繪制簡單工廠模式、工廠方法模式、抽象工廠模式模式結構圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模式;第二次實驗課完成:使用Rose或者Visio繪制單例模式、適配器模式、組合模式模
9、式結構圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模式;第三次實驗課完成:使用Rose或者Visio繪制裝飾模式、外觀模式、命令模式模式結構圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模式;第四次實驗課完成:使用Rose或者Visio繪制迭代器模式、觀察者模式、策略模式模式結構圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模式;五、實驗報告要求 提供簡單工廠模式、工廠方法模式、抽象工廠模式、單例模式、適配器模式、組合模式、裝飾模式、外觀模式、命令模式、迭代器模式、觀察者模式、策略模式裝飾模式結構圖及實現(xiàn)代碼;仲愷農(nóng)業(yè)工程學院實驗報告課程名稱:軟件設計模式班級:學號:姓名:第一次實驗報告一、 實驗目的使用合理的UML建模工具(ROSE或者Vis
10、io)和任意一種面向?qū)ο缶幊陶Z言實現(xiàn)幾種常用的設計模式,加深對這些模式的理解,包括簡單工廠模式、工廠方法模式、抽象工廠模式、單例模式、適配器模式、組合模式、裝飾模式、外觀模式、命令模式、迭代器模式、觀察者模式、策略模式等12種模式。二、實驗內(nèi)容(1)、 簡單工廠模式使用簡單工廠模式模擬女媧(Nvwa)造人(Person),如果傳入?yún)?shù)M,則返回一個Man對象,如果傳入?yún)?shù)W,則返回一個Woman對象,請實現(xiàn)該場景?,F(xiàn)需要增加一個新的Robot類,如果傳入?yún)?shù)R,則返回一個Robot對象,對代碼進行修改并注意女媧的變化。(2)、 工廠方法模式海爾工廠(Haier)生產(chǎn)海爾空調(diào)(HaierAirC
11、ondition),美的工廠(Midea)生產(chǎn)美的空調(diào)(MideaAirCondition) 。使用工廠方法模式描述該場景,繪制類圖并編程實現(xiàn)。(3)、 抽象工程模式電腦配件生產(chǎn)工廠生產(chǎn)內(nèi)存、CPU等硬件設備,這些內(nèi)存、CPU的品牌、型號并不一定相同,根據(jù)下面的“產(chǎn)品等級結構-產(chǎn)品族”示意圖,使用抽象工廠模式實現(xiàn)電腦配件生產(chǎn)過程并繪制相應的類圖,繪制類圖并編程實現(xiàn)。三、實驗要求使用Rose或者Visio繪制簡單工廠模式、工廠方法模式、抽象工廠模式模式結構圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模式;四、實驗結果仲愷農(nóng)業(yè)工程學院實驗報告課程名稱:軟件設計模式班級:學號:姓名:第二次實驗報告一、 實驗目的使用
12、合理的UML建模工具(ROSE或者Visio)和任意一種面向?qū)ο缶幊陶Z言實現(xiàn)幾種常用的設計模式,加深對這些模式的理解,包括簡單工廠模式、工廠方法模式、抽象工廠模式、單例模式、適配器模式、組合模式、裝飾模式、外觀模式、命令模式、迭代器模式、觀察者模式、策略模式等12種模式。二、實驗內(nèi)容(1)、 單例模式用懶漢式單例實現(xiàn)在某系統(tǒng)運行時,其登錄界面類LoginForm只能夠彈出一個,如果第二次實例化該類則提示“程序已運行”。繪制類圖并編程實現(xiàn)。提示:不要求做界面,用類模擬界面就可以了。(2)、 組合模式使用組合模式設計一個殺毒軟件(AntiVirus)的框架,該軟件既可以對某個文件夾(Folder)
13、殺毒,也可以對某個指定的文件(File)進行殺毒,文件種類包括文本文件TextFile、圖片文件ImageFile、音頻視頻文件MediaFile。繪制類圖并編程實現(xiàn)。(3)、 適配器模式現(xiàn)有一個接口DataOperation定義了排序方法sort(int) 和查找方法search(int, int),已知類QuickSort的quickSort(int)方法實現(xiàn)了快速排序算法,類BinarySearch 的binarySearch(int, int)方法實現(xiàn)了二分查找算法。現(xiàn)使用適配器模式設計一個系統(tǒng),在不修改源代碼的情況下將類QuickSort和類BinarySearch的方法適配到Dat
14、aOperation接口中。繪制類圖并編程實現(xiàn)。 (要求實現(xiàn)快速排序和二分查找)三、實驗要求使用Rose或者Visio繪制單例模式、適配器模式、組合模式模式結構圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模式;四、實驗結果仲愷農(nóng)業(yè)工程學院實驗報告課程名稱:軟件設計模式班級:學號:姓名:第三次實驗報告一、 實驗目的使用合理的UML建模工具(ROSE或者Visio)和任意一種面向?qū)ο缶幊陶Z言實現(xiàn)幾種常用的設計模式,加深對這些模式的理解,包括簡單工廠模式、工廠方法模式、抽象工廠模式、單例模式、適配器模式、組合模式、裝飾模式、外觀模式、命令模式、迭代器模式、觀察者模式、策略模式等12種模式。二、實驗內(nèi)容(1)、 裝飾
15、模式某圖書管理系統(tǒng)中,書籍類(Book)具有借書方法borrowBook()和還書方法returnBook() ?,F(xiàn)需要動態(tài)給書籍對象添加凍結方法freeze()和遺失方法lose()。使用裝飾模式設計該系統(tǒng),繪制類圖并編程實現(xiàn)。(2)、 外觀模式在電腦主機(Mainframe)中,只需要按下主機的開機按鈕(on(),即可調(diào)用其他硬件設備和軟件的啟動方法,如內(nèi)存(Memory)的自檢(check(),CPU的運行(run(),硬盤(HardDisk)的讀取(read(),操作系統(tǒng)(OS)的載入(load()等,如果某一過程發(fā)生錯誤則電腦啟動失敗。使用外觀模式模擬該過程,繪制類圖并編程實現(xiàn)。(3
16、)、 命令模式某軟件公司欲開發(fā)一個基于Windows平臺的公告板系統(tǒng)。系統(tǒng)提供一個主菜單(Menu),在主菜單中包含了一些菜單項(MenuItem),可以通過Menu類的addMenuItem()方法增加菜單項。菜單項的主要方法是click(),每一個菜單項包含一個抽象命令類,具體命令類包括OpenCommand(打開命令),CreateCommand(新建命令),EditCommand(編輯命令)等,命令類具有一個execute()方法,用于調(diào)用公告板系統(tǒng)界面類(BoardScreen)的open()、create()、edit()等方法?,F(xiàn)使用命令模式設計該系統(tǒng),使得MenuItem類與B
17、oardScreen類的耦合度降低,繪制類圖并編程實現(xiàn)。三、實驗要求使用Rose或者Visio繪制裝飾模式、外觀模式、命令模式模式結構圖并用面向?qū)ο缶幊陶Z言實現(xiàn)該模式;四、實驗結果仲愷農(nóng)業(yè)工程學院實驗報告課程名稱:軟件設計模式班級:學號:姓名:第四次實驗報告一、 實驗目的使用合理的UML建模工具(ROSE或者Visio)和任意一種面向?qū)ο缶幊陶Z言實現(xiàn)幾種常用的設計模式,加深對這些模式的理解,包括簡單工廠模式、工廠方法模式、抽象工廠模式、單例模式、適配器模式、組合模式、裝飾模式、外觀模式、命令模式、迭代器模式、觀察者模式、策略模式等12種模式。二、實驗內(nèi)容(1)、 迭代器模式某商品管理系統(tǒng)的商品名稱存儲在一個字符串數(shù)組中,現(xiàn)需要自定義一個雙向迭代器(MyIterator)實現(xiàn)對該商品名稱數(shù)組的雙向(前向和后向)遍歷。繪制類圖并編程實現(xiàn)(設計方案必須符合DIP)。(2)、 觀察者模式某在線股票軟件需要提供如下功能:當股票購買者所購
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 民辦教育機構2025年合規(guī)運營與品牌建設教育資源共享效益評估報告
- 2025年環(huán)保產(chǎn)業(yè)園區(qū)產(chǎn)業(yè)集聚與區(qū)域綠色產(chǎn)業(yè)協(xié)同發(fā)展啟示研究報告
- 2025年工業(yè)互聯(lián)網(wǎng)平臺自然語言處理技術在智能文本生成式翻譯系統(tǒng)中的應用報告
- 2025年干細胞療法在阿爾茨海默病治療中的應用進展報告
- 2025年醫(yī)院電子病歷系統(tǒng)優(yōu)化構建醫(yī)療大數(shù)據(jù)平臺報告
- 咨詢工程師基礎課件
- 2025年醫(yī)藥企業(yè)研發(fā)外包(CRO)模式下的臨床試驗數(shù)據(jù)管理系統(tǒng)的功能與性能報告
- 2025年儲能技術多元化在儲能系統(tǒng)成本控制中的應用報告
- 2025年醫(yī)藥流通供應鏈優(yōu)化與成本控制技術革新報告
- 成人教育終身學習體系構建與平臺運營中的在線教育平臺用戶活躍度研究報告
- 基于UHPC的蝶形腹板混凝土拱橋創(chuàng)新設計研究
- 口腔科針刺傷處理流程
- 互聯(lián)網(wǎng)居家護理服務匯報
- 臨時占地免責協(xié)議書
- 樹脂瓦施工方案
- 新疆維吾爾自治區(qū)2024年普通高校招生單列類(選考外語)本科二批次投檔情況 (理工)
- 中國冰雪運動產(chǎn)業(yè)趨勢洞察:雪破新局冰啟華章
- 檔案管理員實操能力考試題試題及答案
- 西學中結業(yè)考核復習試題含答案
- 2025年工會知識競賽題庫200題及答案(完整版)
- 完整版高中古詩文必背72篇【原文+注音+翻譯】
評論
0/150
提交評論