仲恺软件设计模式实验指导书_第1页
仲恺软件设计模式实验指导书_第2页
仲恺软件设计模式实验指导书_第3页
仲恺软件设计模式实验指导书_第4页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.设计模式实验指导一、实验目的使用合理的UML 建模工具( ROSE或者 Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式等12 种模式。二、实验内容根据以下的文档描述要求,使用合理的UML 建模工具( ROSE或者 Visio)和任意一种面向对象编程语言实现以下设计模式,包括根据实例绘制相应的模式结构图、编写模式实现代码,运行并测试模式实例代码。(1)、 简单工厂模式使用简单工厂模式模拟女娲( Nvwa)造人( Per

2、son),如果传入参数 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)、

4、 适配器模式现有一个接口 DataOperation 定义了排序方法 sort(int) 和查找方法 search(int, int) ,已知类 QuickSort 的 quickSort(int) 方法实现了快速排序算法, 类 BinarySearch 的 binarySearch(int, int) 方法实现了二分查找算法。现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort 和类 BinarySearch 的方法适配到DataOperation 接口中。绘制类图并编程实现。(要求实现快速排序和二分查找)(7)、 装饰模式某图书管理系统中,书籍类(Book)具有借书方

5、法borrowBook() 和还书方法returnBook()。现需要动态给书籍对象添加冻结方法freeze()和遗失方法lose()。使用装饰模式设计该系统,绘制类图并编程实现。(8)、 外观模式在电脑主机 (Mainframe) 中,只需要按下主机的开机按钮(on(),即可调用其他硬;.件设备和软件的启动方法,如内存(Memory) 的自检 (check(),CPU的运行 (run() ,硬盘(HardDisk)的读取 (read(),操作系统 (OS)的载入 (load() 等,如果某一过程发生错误则电脑启动失败。使用外观模式模拟该过程,绘制类图并编程实现。(9)、 命令模式某软件公司欲

6、开发一个基于Windows 平台的公告板系统。系统提供一个主菜单(Menu) ,在主菜单中包含了一些菜单项(MenuItem) ,可以通过Menu 类的addMenuItem() 方法增加菜单项。菜单项的主要方法是click() ,每一个菜单项包含一个抽象命令类, 具体命令类包括OpenCommand( 打开命令 ),CreateCommand(新建命令), EditCommand( 编辑命令 )等,命令类具有一个 execute()方法,用于调用公告板系统界面类 (BoardScreen)的 open() 、 create()、 edit() 等方法。现使用命令模式设计该系统,使得 Menu

7、Item 类与 BoardScreen 类的耦合度降低,绘制类图并编程实现。(10)、迭代器模式某商品管理系统的商品名称存储在一个字符串数组中,现需要自定义一个双向迭代器 (MyIterator) 实现对该商品名称数组的双向(前向和后向)遍历。绘制类图并编程实现(设计方案必须符合 DIP)。(11)、观察者模式某在线股票软件需要提供如下功能:当股票购买者所购买的某支股票价格变化幅度达到 5%时,系统将自动发送通知(包括新价格)给购买该股票的股民。现使用观察者模式设计该系统,绘制类图并编程实现。(12)、策略模式设计一个网上书店, 该系统中所有的计算机类图书(ComputerBook) 每本都有

8、 10%的折扣,所有的语言类图书(LanguageBook) 每本都有2 元的折扣,小说类图书(NovelBook)每 100 元有 10 元的折扣。 现使用策略模式来设计该系统,绘制类图并编程实现。三、实验要求1. 正确无误绘制简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、 组合模式、 装饰模式、 外观模式、命令模式、 迭代器模式、 观察者模式、策略模式的模式结构图;;.2. 使用任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、 、命令模式、迭代器模式、观察者模式、策略模式,代码运行正确无误。四、实验

9、步骤第一次实验课完成:使用 Rose 或者 Visio 绘制简单工厂模式、工厂方法模式、抽象工厂模式模式结构图并用面向对象编程语言实现该模式;第二次实验课完成:使用 Rose 或者 Visio 绘制单例模式、适配器模式、组合模式模式结构图并用面向对象编程语言实现该模式;第三次实验课完成:使用 Rose 或者 Visio 绘制装饰模式、 外观模式、命令模式模式结构图并用面向对象编程语言实现该模式;第四次实验课完成:使用 Rose 或者 Visio 绘制迭代器模式、观察者模式、策略模式模式结构图并用面向对象编程语言实现该模式;五、实验报告要求提供简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、

10、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式装饰模式结构图及实现代码;;.仲恺农业工程学院实验报告课程名称:软件设计模式班级:学号:姓名:第一次实验报告一、 实验目的使用合理的UML 建模工具( ROSE或者 Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式等12 种模式。二、实验内容(1)、 简单工厂模式使用简单工厂模式模拟女娲( Nvwa)造人( Person),如果传入参数

11、M,则返回一个 Man 对象,如果传入参数 W,则返回一个 Woman 对象,请实现该场景。现需要增加一个新的 Robot 类,如果传入参数 R,则返回一个 Robot 对象,对代码进行修改并注意女娲的变化。(2)、 工厂方法模式海尔工厂 (Haier)生产海尔空调 (HaierAirCondition) ,美的工厂 (Midea) 生产美的空调(MideaAirCondition) 。使用工厂方法模式描述该场景,绘制类图并编程实现。(3)、 抽象工程模式电脑配件生产工厂生产内存、CPU 等硬件设备,这些内存、CPU的品牌、型号并不一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工

12、厂模式实现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。三、实验要求使用 Rose 或者 Visio 绘制简单工厂模式、工厂方法模式、抽象工厂模式模式结;.构图并用面向对象编程语言实现该模式;四、实验结果;.仲恺农业工程学院实验报告课程名称:软件设计模式班级:学号:姓名:第二次实验报告一、 实验目的使用合理的UML 建模工具( ROSE或者 Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式等12 种模式。二、实验

13、内容(1)、 单例模式用懒汉式单例实现在某系统运行时,其登录界面类LoginForm 只能够弹出一个,如果第二次实例化该类则提示“程序已运行”。绘制类图并编程实现。提示 :不要求做界面,用类模拟界面就可以了。(2)、 组合模式使用组合模式设计一个杀毒软件 (AntiVirus) 的框架,该软件既可以对某个文件夹(Folder)杀毒,也可以对某个指定的文件 (File)进行杀毒,文件种类包括文本文件TextFile、图片文件 ImageFile、音频视频文件 MediaFile 。绘制类图并编程实现。(3)、 适配器模式现有一个接口DataOperation 定义了排序方法sort(int)和查

14、找方法search(int,int) ,已知类 QuickSort 的 quickSort(int) 方法实现了快速排序算法, 类 BinarySearch 的 binarySearch(int, int) 方法实现了二分查找算法。现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort 和类 BinarySearch 的方法适配到DataOperation 接口中。绘制类图并编程实现。(要求实现快速排序和二分查找);.三、实验要求使用 Rose 或者 Visio 绘制单例模式、适配器模式、组合模式模式结构图并用面向对象编程语言实现该模式;四、实验结果;.仲恺农业工程学院实验

15、报告课程名称:软件设计模式班级:学号:姓名:第三次实验报告一、 实验目的使用合理的UML 建模工具( ROSE或者 Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式等12 种模式。二、实验内容(1)、 装饰模式某图书管理系统中,书籍类(Book)具有借书方法borrowBook() 和还书方法returnBook()。现需要动态给书籍对象添加冻结方法freeze()和遗失方法lose()。使用装饰模式设计该系统,绘制类图

16、并编程实现。(2)、 外观模式在电脑主机 (Mainframe) 中,只需要按下主机的开机按钮(on(),即可调用其他硬件设备和软件的启动方法,如内存(Memory) 的自检 (check(),CPU的运行 (run() ,硬盘(HardDisk)的读取 (read(),操作系统 (OS)的载入 (load() 等,如果某一过程发生错误则电脑启动失败。使用外观模式模拟该过程,绘制类图并编程实现。(3)、 命令模式某软件公司欲开发一个基于Windows 平台的公告板系统。系统提供一个主菜单(Menu) ,在主菜单中包含了一些菜单项(MenuItem) ,可以通过Menu 类的addMenuIte

17、m() 方法增加菜单项。菜单项的主要方法是click() ,每一个菜单项包含一个抽象命令类, 具体命令类包括OpenCommand( 打开命令 ),CreateCommand(新建命令), EditCommand( 编辑命令 )等,命令类具有一个execute()方法,用于调用公告板;.系统界面类 (BoardScreen)的 open() 、 create()、 edit() 等方法。现使用命令模式设计该系统,使得MenuItem 类与 BoardScreen 类的耦合度降低,绘制类图并编程实现。三、实验要求使用 Rose 或者 Visio 绘制装饰模式、外观模式、命令模式模式结构图并用面向

18、对象编程语言实现该模式;四、实验结果;.仲恺农业工程学院实验报告课程名称:软件设计模式班级:学号:姓名:第四次实验报告一、 实验目的使用合理的UML 建模工具( ROSE或者 Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、命令模式、迭代器模式、观察者模式、策略模式等12 种模式。二、实验内容(1)、 迭代器模式某商品管理系统的商品名称存储在一个字符串数组中,现需要自定义一个双向迭代器 (MyIterator) 实现对该商品名称数组的双向(前向和后向)遍历。绘制类图并编程实现(设计方案必须符合 DIP)。(2)、 观察者模式某在线股票软件需要提供如下功能:当股票购买者所购买的某支

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论