




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、设计模式实验指导一、实验目的使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式等12种模式。二、实验内容根据以下的文档描述要求,使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现以下设计模式,包括根据实例绘制相应的模式结构图、编写模式实现代码,运行并测试模式实例代码。(1)、 简单工厂模式使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参
2、数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,请实现该场景。现需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进行修改并注意女娲的变化。(2)、 工厂方法模式海尔工厂(Haier)生产海尔空调(HaierAirCondition),美的工厂(Midea)生产美的空调(MideaAirCondition) 。使用工厂方法模式描述该场景,绘制类图并编程实现。(3)、 抽象工程模式电脑配件生产工厂生产内存、CPU等硬件设备,这些内存、CPU的品牌、型号并不一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现电脑配件生产过程并绘
3、制相应的类图,绘制类图并编程实现。(4)、 单例模式用懒汉式单例实现在某系统运行时,其登录界面类LoginForm只能够弹出一个,如果第二次实例化该类则提示“程序已运行”。绘制类图并编程实现。提示:不要求做界面,用类模拟界面就可以了。(5)、 组合模式使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹(Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、音频视频文件MediaFile。绘制类图并编程实现。(6)、 适配器模式现有一个接口DataOperation定义了排序方法sort(
4、int) 和查找方法search(int, int),已知类QuickSort的quickSort(int)方法实现了快速排序算法,类BinarySearch 的binarySearch(int, int)方法实现了二分查找算法。现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。绘制类图并编程实现。 (要求实现快速排序和二分查找)(7)、 装饰模式某图书管理系统中,书籍类(Book)具有借书方法borrowBook()和还书方法returnBook() 。现需要动态给书籍对象添加冻结方法freez
5、e()和遗失方法lose()。使用装饰模式设计该系统,绘制类图并编程实现。(8)、 外观模式在电脑主机(Mainframe)中,只需要按下主机的开机按钮(on(),即可调用其他硬件设备和软件的启动方法,如内存(Memory)的自检(check(),CPU的运行(run(),硬盘(HardDisk)的读取(read(),操作系统(OS)的载入(load()等,如果某一过程发生错误则电脑启动失败。使用外观模式模拟该过程,绘制类图并编程实现。(9)、 命令模式某软件公司欲开发一个基于Windows平台的公告板系统。系统提供一个主菜单(Menu),在主菜单中包含了一些菜单项(MenuItem),可以通
6、过Menu类的addMenuItem()方法增加菜单项。菜单项的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个execute()方法,用于调用公告板系统界面类(BoardScreen)的open()、create()、edit()等方法。现使用命令模式设计该系统,使得MenuItem类与BoardScreen类的耦合度降低,绘制类图并编程实现。(10)、 迭代器模式某商品管理系统的商品名称存储在一个字符串数组中,现需要自定义一个双向迭代器(M
7、yIterator)实现对该商品名称数组的双向(前向和后向)遍历。绘制类图并编程实现(设计方案必须符合DIP)。(11)、 观察者模式某在线股票软件需要提供如下功能:当股票购买者所购买的某支股票价格变化幅度达到5%时,系统将自动发送通知(包括新价格)给购买该股票的股民。现使用观察者模式设计该系统,绘制类图并编程实现。(12)、 策略模式设计一个网上书店,该系统中所有的计算机类图书(ComputerBook)每本都有10%的折扣,所有的语言类图书(LanguageBook) 每本都有2元的折扣,小说类图书(NovelBook)每100元有10元的折扣。现使用策略模式来设计该系统,绘制类图并编程实
8、现。三、实验要求1. 正确无误绘制简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式的模式结构图;2. 使用任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式,代码运行正确无误。四、实验步骤第一次实验课完成:使用Rose或者Visio绘制简单工厂模式、工厂方法模式、抽象工厂模式模式结构图并用面向对象编程语言实现该模式;第二次实验课完成:使用Rose或者Visio绘制单例模式、适配器模式、组合模式模
9、式结构图并用面向对象编程语言实现该模式;第三次实验课完成:使用Rose或者Visio绘制装饰模式、外观模式、命令模式模式结构图并用面向对象编程语言实现该模式;第四次实验课完成:使用Rose或者Visio绘制迭代器模式、观察者模式、策略模式模式结构图并用面向对象编程语言实现该模式;五、实验报告要求 提供简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式装饰模式结构图及实现代码;仲恺农业工程学院实验报告课程名称:软件设计模式班级:学号:姓名:第一次实验报告一、 实验目的使用合理的UML建模工具(ROSE或者Vis
10、io)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式等12种模式。二、实验内容(1)、 简单工厂模式使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,请实现该场景。现需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进行修改并注意女娲的变化。(2)、 工厂方法模式海尔工厂(Haier)生产海尔空调(HaierAirC
11、ondition),美的工厂(Midea)生产美的空调(MideaAirCondition) 。使用工厂方法模式描述该场景,绘制类图并编程实现。(3)、 抽象工程模式电脑配件生产工厂生产内存、CPU等硬件设备,这些内存、CPU的品牌、型号并不一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。三、实验要求使用Rose或者Visio绘制简单工厂模式、工厂方法模式、抽象工厂模式模式结构图并用面向对象编程语言实现该模式;四、实验结果仲恺农业工程学院实验报告课程名称:软件设计模式班级:学号:姓名:第二次实验报告一、 实验目的使用
12、合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式等12种模式。二、实验内容(1)、 单例模式用懒汉式单例实现在某系统运行时,其登录界面类LoginForm只能够弹出一个,如果第二次实例化该类则提示“程序已运行”。绘制类图并编程实现。提示:不要求做界面,用类模拟界面就可以了。(2)、 组合模式使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹(Folder)
13、杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、音频视频文件MediaFile。绘制类图并编程实现。(3)、 适配器模式现有一个接口DataOperation定义了排序方法sort(int) 和查找方法search(int, int),已知类QuickSort的quickSort(int)方法实现了快速排序算法,类BinarySearch 的binarySearch(int, int)方法实现了二分查找算法。现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到Dat
14、aOperation接口中。绘制类图并编程实现。 (要求实现快速排序和二分查找)三、实验要求使用Rose或者Visio绘制单例模式、适配器模式、组合模式模式结构图并用面向对象编程语言实现该模式;四、实验结果仲恺农业工程学院实验报告课程名称:软件设计模式班级:学号:姓名:第三次实验报告一、 实验目的使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式等12种模式。二、实验内容(1)、 装饰
15、模式某图书管理系统中,书籍类(Book)具有借书方法borrowBook()和还书方法returnBook() 。现需要动态给书籍对象添加冻结方法freeze()和遗失方法lose()。使用装饰模式设计该系统,绘制类图并编程实现。(2)、 外观模式在电脑主机(Mainframe)中,只需要按下主机的开机按钮(on(),即可调用其他硬件设备和软件的启动方法,如内存(Memory)的自检(check(),CPU的运行(run(),硬盘(HardDisk)的读取(read(),操作系统(OS)的载入(load()等,如果某一过程发生错误则电脑启动失败。使用外观模式模拟该过程,绘制类图并编程实现。(3
16、)、 命令模式某软件公司欲开发一个基于Windows平台的公告板系统。系统提供一个主菜单(Menu),在主菜单中包含了一些菜单项(MenuItem),可以通过Menu类的addMenuItem()方法增加菜单项。菜单项的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个execute()方法,用于调用公告板系统界面类(BoardScreen)的open()、create()、edit()等方法。现使用命令模式设计该系统,使得MenuItem类与B
17、oardScreen类的耦合度降低,绘制类图并编程实现。三、实验要求使用Rose或者Visio绘制装饰模式、外观模式、命令模式模式结构图并用面向对象编程语言实现该模式;四、实验结果仲恺农业工程学院实验报告课程名称:软件设计模式班级:学号:姓名:第四次实验报告一、 实验目的使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式等12种模式。二、实验内容(1)、 迭代器模式某商品管理系统的商品名称存储在一个字符串数组中,现需要自定义一个双向迭代器(MyIterator)实现对该商品名称数组的双向(前向和后向)遍历。绘制类图并编程实现(设计方案必须符合DIP)。(2)、 观察者模式某在线股票软件需要提供如下功能:当股票购买者所购
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省淮安市本年度(2025)小学一年级数学统编版阶段练习(下学期)试卷及答案
- 2025-2030年中国散热排风机市场运行新形势与投资前景报告
- 大学生要如何网络安全防范论文
- 英语中国文化阅读教学设计
- 2025届江苏省徐州一中高三六校第一次联考英语试卷含解析
- 湖南省长沙市岳麓区湖南师范大学附中2025届高三(最后冲刺)英语试卷含解析
- 职业技能鉴定初级光纤通信模拟题及参考答案
- 【9道 一模】2025年4月邯郸市邯山区七校联考中考一模道法试卷含答案
- 北京市第五十七中学2024-2025学年高二下学期期中考试英语试题(原卷版+解析版)
- 稀有金属矿选矿厂安全生产标准化实施指南考核试卷
- 完整版高中古诗文必背72篇【原文+注音+翻译】
- 财务英文词汇大全
- 实际控制人股东会决议
- 中考物理“极值”与“取值范围”问题专题训练
- 2009年安徽省中考化学试卷【含答案可编辑】
- 越南工业到2025年发展战略及到2035发展展望(提到钢铁)
- 电梯曳引机减速箱的设计、建模与运动仿真分析机械
- PV-1200-(中文版)气候交变稳定性试验(共4页)
- 淮北市基准地价
- 《给教师的100条建议》电子书
- 老视的机制及治疗的研究进展
评论
0/150
提交评论