




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、设计模式实验指导 、实验目的 使用合理的 UML 建模工具(ROSE者 Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命 令模式、迭代器模式、观察者模式、策略模式等 12 种模式。 、实验内容 根据以下的文档描述要求,使用合理的 UML 建模工具(ROS 或者 Visio)和任 意一种面向对象编程语言实现以下设计模式,包括根据实例绘制相应的模式结构图、 编写模式实现代码,运行并测试模式实例代码。 (1)、简单工厂模式 使用简单工厂模式模拟女蜗(Nvwa)造人(
2、Person),如果传入参数 M,则返回一个 Man 对象,如果彳入参数 W,则返回一个 Woman 对象,请实现该场景。现需要增加一个新的 Robot类,如果传入参数 R,则返回一个 Robot对象,对代码进行修改并注意女蜗的变化。 (2)、工厂方法模式 海尔工厂(Haier)生产海尔空调(HaierAirCondition),美的工厂(Midea)生产美的空调(MideaAirCondition)。使用工厂方法模式描述该场景,绘制类图并编程实现。 (3)、抽象工程模式 电脑配件生产工厂生产内存、CPU 等硬件设备,这些内存、CPU的品牌、型号 并不一定相同,根据下面的“产品等级结构-产品族
3、”示意图,使用抽象工厂模式实 现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。严犀簟Az一个产鼻戢郭 ft(小人1八P&K) MKVFMK*髀 E 卢赭等怪帖梅 (4)、单例模式 用懒汉式单例实现在某系统运行时,其登录界面类 LoginForm 只能够弹出一个, 如果第二次实例化该类则提示“程序已运行。绘制类图并编程实现。 提示:不要求做界面,用类模拟界面就可以了。 (5)、组合模式 使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹 (Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件 TextFile、图片文
4、件 ImageFile、音频视频文件 MediaFile。绘制类图并编程实现。 (6)、适配器模式 现有一个接口 DataOperation 定义了排序方法 sort(int)和查找方法 search(int,int),已知类 QuickSort的 quickSort(int)方法实现了快速排序算法, 类 BinarySearch 的 binarySearch(int 口,int)方法实现了二分查找算法。现使用适配器模式设计一个系统,在不修改源代码的情况下将类 QuickSort和类 BinarySearch 的方法适配到 DataOperation 接口中。绘制类图并编程实现。(要求实现快速
5、排序和二分查找) (7)、装饰模式 某图书管理系统中,书籍类(Book)具有借书方法 borrowBook()和还书方法 returnBook()。现需要动态给书籍对象添加冻结方法 freeze()和遗失方法 lose()。使用 装饰模式设计该系统,绘制类图并编程实现。 (8)、外观模式 在电脑主机(Mainframe)中,只需要按下主机的开机按钮(on(),即可调用其他硬 件设备和软件的启动方法,如内存(Memory)的自检(check(),CPU 的运行(run(),硬 盘(HardDisk)的读取(read(),操作系统(OS 两载入(load()等,如果某一过程发生错误则电脑启动失败。
6、使用外观模式模拟该过程,绘制类图并编程实现。 (9)、命令模式 某软件公司欲开发一个基于 Windows平台的公告板系统。系统提供一个主菜单 (Menu),在主菜单中包含了一些菜单项(MenuItem),可以通过 Menu 类的 addMenuItem()方法增加菜单项。菜单项的主要方法是 click(),每一个菜单项包含一 个抽象命令类,具体命令类包括 OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个 execute。方法,用于调用公告板系统界面类(BoardScreen)的 open()、create。、edi
7、t()等方法。现使用命令模式设计该系统,使得 MenuItem类与BoardScreen 类的耦合度降低,绘制类图并编程实现。 (10)、迭代器模式 某商品管理系统的商品名称存储在一个字符串数组中, 现需要自定义一个双向迭代器(MyIterator)实现对该商品名称数组的双向(前向和后向)遍历。绘制类图并编程实现(设计方案必须符合 DIP)。 (11)、观察者模式 某在线股票软件需要提供如下功能:当股票购买者所购买的某支股票价格变化幅度达到 5%时,系统将自动发送通知(包括新价格)给购买该股票的股民。现使用观察者模式设计该系统,绘制类图并编程实现。 (12)、策略模式 设计一个网上书店,该系统
8、中所有的 at算机类图书(ComputerBook)每本都有 10% 的折扣,所有的语言类图书(LanguageBook)每本都有 2 元的折扣,小说类图书(NovelBook)每 100 元有10 元的折扣。现使用策略模式来设计该系统,绘制类图并编 程实现。 三、实验要求 1 .正确无误绘制简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式的模式结构图; 2 .使用任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工 厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭 代器模
9、式、观察者模式、策略模式,代码运行正确无误。 四、实验步骤 第一次实验课完成: 使用 Rose或者 Visio 绘制简单工厂模式、工厂方法模式、抽象工厂模式模式结构图并用面向对象编程语言实现该模式; 第二次实验课完成: 使用 Rose或者 Visio 绘制单例模式、适配器模式、组合模式模式结构图并用面向对象编程语言实现该模式; 第三次实验课完成: 使用 Rose或者 Visio 绘制装饰模式、外观模式、命令模式模式结构图并用面向对象编程语言实现该模式; 第四次实验课完成: 使用 Rose或者 Visio 绘制迭代器模式、观察者模式、策略模式模式结构图并用面向对象编程语言实现该模式; 五、实验报
10、告要求 提供简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式装饰模式结构图及实现代码; 仲恺农业工程学院实验报告 课程名称:软件设计模式班级:学号:姓名: 第一次实验报告 一、实验目的 使用合理的 UML 建模工具(ROSE者 Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命 令模式、迭代器模式、观察者模式、策略模式等 12 种模式。 二、实验内容 (1)、简单工厂模式 使
11、用简单工厂模式模拟女蜗(Nvwa)造人(Person),如果传入参数 M,则返回一个 Man 对象, 如果彳入参数 W,则返回一个 Woman 对象,请实现该场景。现需要增加一个新的 Robot类,如果传入参数R,则返回一个 Robot对象,对代码进行修改并注意女蜗的变化。 (2)、工厂方法模式 海尔工厂(Haier)生产海尔空调(HaierAirCondition),美的工厂(Midea)生产美的空调(MideaAirCondition)。使用工厂方法模式描述该场景,绘制类图并编程实现。 (3)、抽象工程模式 电脑配件生产工厂生产内存、CPU 等硬件设备,这些内存、CPU 的品牌、型号 并不
12、一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实 现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。 三、实验要求 使用 Rose或者 Visio 绘制简单工厂模式、工厂方法模式、抽象工厂模式模式结 构图并用面向对象编程语言实现该模式; 四、实验结果仲恺农业工程学院实验报告 课程名称:软件设计模式班级:学号:姓名: 第二次实验报告 一、实验目的 使用合理的 UML 建模工具(ROSE者 Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、
13、命 令模式、迭代器模式、观察者模式、策略模式等 12 种模式。 二、实验内容 (1)、单例模式 用懒汉式单例实现在某系统运行时,其登录界面类 LoginForm 只能够弹出一个, 如果第二次实例化该类则提示“程序已运行。绘制类图并编程实现。 提示:不要求做界面,用类模拟界面就可以了。 (2)、组合模式 使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹 (Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件 TextFile、图片文件 ImageFile、音频视频文件 MediaFile。绘制类图并编程实现。 (3)、适配器模式
14、现有一个接口 DataOperation 定义了排序方法 sort(int)和查找方法 search(int,int),已知类QuickSort 的 quickSort(int)方法实现了快速排序算法,类 BinarySearch 的 binarySearch(int 口,int)方法实现了二分查找算法。现使用适配器模式设计一个系统,在不修改源代码的情况下将类 QuickSort和类 BinarySearch 的方法适配到 DataOperation 接口中。绘制类图并编程实现。 三、实验要求 使用 Rose或者 Visio 绘制单例模式、 适配器模式、 组合模式模式结构图并用面向对象编程语言
15、实现该模式; 四、实验结果(要求实现快速排序和二分查找) 仲恺农业工程学院实验报告 课程名称:软件设计模式班级:学号:姓名: 第三次实验报告 一、实验目的 使用合理的 UML 建模工具(ROSE者 Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模 式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命 令模式、迭代器模式、观察者模式、策略模式等 12 种模式。 二、实验内容 (1)、装饰模式 某图书管理系统中,书籍类(Book)具有借书方法 borrowBook()和还书方法 returnBook()。现需要动态
16、给书籍对象添加冻结方法 freeze()和遗失方法 lose()。使用 装饰模式设计该系统,绘制类图并编程实现。 (2)、外观模式 在电脑主机(Mainframe)中,只需要按下主机的开机按钮(on(),即可调用其他硬 件设备和软件的启动方法,如内存(Memory)的自检(check(),CPU 的运行(run(),硬 盘(HardDisk)的读取(read(),操作系统(OS 两载入(load()等,如果某一过程发生错误则电脑启动失败。使用外观模式模拟该过程,绘制类图并编程实现。 (3)、命令模式 某软件公司欲开发一个基于 Windows平台的公告板系统。系统提供一个主菜单 (Menu),在
17、主菜单中包含了一些菜单项(MenuItem),可以通过 Menu 类的 addMenuItem()方法增加菜单项。菜单项的主要方法是 click(),每一个菜单项包含一 个抽象命令类,具体命令类包括 OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个 execute。方法,用于调用公告板系统界面类(BoardScreen)的 open()、create。、edit()等方法。现使用命令模式设计该 系统,使得 Menuitem 类与 BoardScreen 类的耦合度降低,绘制类图并编程实现。 三、实验要求 使用 Ro
18、se或者 Visio 绘制装饰模式、外观模式、命令模式模式结构图并用面向对象编程语言实现该模式; 四、实验结果仲恺农业工程学院实验报告 课程名称:软件设计模式班级:学号:姓名: 第四次实验报告 一、实验目的 使用合理的 UML 建模工具(ROSE者 Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命 令模式、迭代器模式、观察者模式、策略模式等 12 种模式。 二、实验内容 (1)、迭代器模式 某商品管理系统的商品名称存储在一个字符串数组中, 现需要自定义一个双向迭代器(Mylterator)实现对该商品名称数组的双向(前向和后向)遍历。绘制类图并编程实现(设计方案必须符合 DIP)。 (2)、观察者模式 某在线股票软件需要提供如下功能:当股票购买者所购买的某支
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年安全生产年终总结暨新年计划
- 大学课件刚体的定轴转动定律
- PZ7I自动上料喷浆车产品介绍
- ZHJ-12-3防灭火注浆装置技术特征
- 2024年裁判员考试的数据分析与试题及答案总结
- 2024年篮球裁判员考题解析试题及答案
- 2024年项目管理专业人士资格认证考试应试技巧试题及答案
- 2024年农业植保员在线考试试题及答案
- 2025房屋融资租赁合同范本
- 模具设计的实验与测试试题及答案
- 大学生旧物回收创业计划书
- 新苏教版一年级数学下册第四单元《认识20~99》全部教案(共3课时)
- 手术患者转运交接课件
- 铁路基础知识考试题库单选题100道及答案
- 艺校对舞蹈学生受伤免责协议书
- 《结构健康监测系统运行维护与管理标准》
- 江西版小学四年级下册美术全册教案
- 帕金森病的作业治疗
- 外国教育史知到智慧树章节测试课后答案2024年秋山东师范大学
- 手术室信息安全管理制度
- 社区创建消防安全示范社区方案样本(4篇)
评论
0/150
提交评论