仲恺软件设计模式实验指导书讲解.docx

上传人:b****8 文档编号:9817253 上传时间:2023-05-21 格式:DOCX 页数:9 大小:66.70KB
下载 相关 举报
仲恺软件设计模式实验指导书讲解.docx_第1页
第1页 / 共9页
仲恺软件设计模式实验指导书讲解.docx_第2页
第2页 / 共9页
仲恺软件设计模式实验指导书讲解.docx_第3页
第3页 / 共9页
仲恺软件设计模式实验指导书讲解.docx_第4页
第4页 / 共9页
仲恺软件设计模式实验指导书讲解.docx_第5页
第5页 / 共9页
仲恺软件设计模式实验指导书讲解.docx_第6页
第6页 / 共9页
仲恺软件设计模式实验指导书讲解.docx_第7页
第7页 / 共9页
仲恺软件设计模式实验指导书讲解.docx_第8页
第8页 / 共9页
仲恺软件设计模式实验指导书讲解.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

仲恺软件设计模式实验指导书讲解.docx

《仲恺软件设计模式实验指导书讲解.docx》由会员分享,可在线阅读,更多相关《仲恺软件设计模式实验指导书讲解.docx(9页珍藏版)》请在冰点文库上搜索。

仲恺软件设计模式实验指导书讲解.docx

仲恺软件设计模式实验指导书讲解

设计模式实验指导

一、实验目的

使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式等12种模式。

二、实验内容

根据以下的文档描述要求,使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现以下设计模式,包括根据实例绘制相应的模式结构图、编写模式实现代码,运行并测试模式实例代码。

(1)、简单工厂模式

使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,请实现该场景。

现需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进行修改并注意女娲的变化。

(2)、工厂方法模式

海尔工厂(Haier)生产海尔空调(HaierAirCondition),美的工厂(Midea)生产美的空调(MideaAirCondition)。

使用工厂方法模式描述该场景,绘制类图并编程实现。

(3)、抽象工程模式

电脑配件生产工厂生产内存、CPU等硬件设备,这些内存、CPU的品牌、型号并不一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。

(4)、单例模式

用懒汉式单例实现在某系统运行时,其登录界面类LoginForm只能够弹出一个,如果第二次实例化该类则提示“程序已运行”。

绘制类图并编程实现。

提示:

不要求做界面,用类模拟界面就可以了。

(5)、组合模式

使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹(Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、音频视频文件MediaFile。

绘制类图并编程实现。

(6)、适配器模式

现有一个接口DataOperation定义了排序方法sort(int[])和查找方法search(int[],int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法,类BinarySearch的binarySearch(int[],int)方法实现了二分查找算法。

现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。

绘制类图并编程实现。

(要求实现快速排序和二分查找)

(7)、装饰模式

某图书管理系统中,书籍类(Book)具有借书方法borrowBook()和还书方法returnBook()。

现需要动态给书籍对象添加冻结方法freeze()和遗失方法lose()。

使用装饰模式设计该系统,绘制类图并编程实现。

(8)、外观模式

在电脑主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法,如内存(Memory)的自检(check()),CPU的运行(run()),硬盘(HardDisk)的读取(read()),操作系统(OS)的载入(load())等,如果某一过程发生错误则电脑启动失败。

使用外观模式模拟该过程,绘制类图并编程实现。

(9)、命令模式

某软件公司欲开发一个基于Windows平台的公告板系统。

系统提供一个主菜单(Menu),在主菜单中包含了一些菜单项(MenuItem),可以通过Menu类的addMenuItem()方法增加菜单项。

菜单项的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个execute()方法,用于调用公告板系统界面类(BoardScreen)的open()、create()、edit()等方法。

现使用命令模式设计该系统,使得MenuItem类与BoardScreen类的耦合度降低,绘制类图并编程实现。

(10)、迭代器模式

某商品管理系统的商品名称存储在一个字符串数组中,现需要自定义一个双向迭代器(MyIterator)实现对该商品名称数组的双向(前向和后向)遍历。

绘制类图并编程实现(设计方案必须符合DIP)。

(11)、观察者模式

某在线股票软件需要提供如下功能:

当股票购买者所购买的某支股票价格变化幅度达到5%时,系统将自动发送通知(包括新价格)给购买该股票的股民。

现使用观察者模式设计该系统,绘制类图并编程实现。

(12)、策略模式

设计一个网上书店,该系统中所有的计算机类图书(ComputerBook)每本都有10%的折扣,所有的语言类图书(LanguageBook)每本都有2元的折扣,小说类图书(NovelBook)每100元有10元的折扣。

现使用策略模式来设计该系统,绘制类图并编程实现。

三、实验要求

1.正确无误绘制简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式的模式结构图;

2.使用任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式,代码运行正确无误。

四、实验步骤

第一次实验课完成:

使用Rose或者Visio绘制简单工厂模式、工厂方法模式、抽象工厂模式模式结构图并用面向对象编程语言实现该模式;

第二次实验课完成:

使用Rose或者Visio绘制单例模式、适配器模式、组合模式模式结构图并用面向对象编程语言实现该模式;

第三次实验课完成:

使用Rose或者Visio绘制装饰模式、外观模式、、命令模式模式结构图并用面向对象编程语言实现该模式;

第四次实验课完成:

使用Rose或者Visio绘制迭代器模式、观察者模式、策略模式模式结构图并用面向对象编程语言实现该模式;

五、实验报告要求

提供简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式装饰模式结构图及实现代码;

仲恺农业工程学院实验报告

课程名称:

软件设计模式

班级:

学号:

姓名:

第一次实验报告

一、实验目的

使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式等12种模式。

二、实验内容

(1)、简单工厂模式

使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,请实现该场景。

现需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进行修改并注意女娲的变化。

(2)、工厂方法模式

海尔工厂(Haier)生产海尔空调(HaierAirCondition),美的工厂(Midea)生产美的空调(MideaAirCondition)。

使用工厂方法模式描述该场景,绘制类图并编程实现。

(3)、抽象工程模式

电脑配件生产工厂生产内存、CPU等硬件设备,这些内存、CPU的品牌、型号并不一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。

三、实验要求

使用Rose或者Visio绘制简单工厂模式、工厂方法模式、抽象工厂模式模式结构图并用面向对象编程语言实现该模式;

四、实验结果

仲恺农业工程学院实验报告

课程名称:

软件设计模式

班级:

学号:

姓名:

第二次实验报告

一、实验目的

使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式等12种模式。

二、实验内容

(1)、单例模式

用懒汉式单例实现在某系统运行时,其登录界面类LoginForm只能够弹出一个,如果第二次实例化该类则提示“程序已运行”。

绘制类图并编程实现。

提示:

不要求做界面,用类模拟界面就可以了。

(2)、组合模式

使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹(Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、音频视频文件MediaFile。

绘制类图并编程实现。

(3)、适配器模式

现有一个接口DataOperation定义了排序方法sort(int[])和查找方法search(int[],int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法,类BinarySearch的binarySearch(int[],int)方法实现了二分查找算法。

现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。

绘制类图并编程实现。

(要求实现快速排序和二分查找)

三、实验要求

使用Rose或者Visio绘制单例模式、适配器模式、组合模式模式结构图并用面向对象编程语言实现该模式;

四、实验结果

仲恺农业工程学院实验报告

课程名称:

软件设计模式

班级:

学号:

姓名:

第三次实验报告

一、实验目的

使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式等12种模式。

二、实验内容

(1)、装饰模式

某图书管理系统中,书籍类(Book)具有借书方法borrowBook()和还书方法returnBook()。

现需要动态给书籍对象添加冻结方法freeze()和遗失方法lose()。

使用装饰模式设计该系统,绘制类图并编程实现。

(2)、外观模式

在电脑主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法,如内存(Memory)的自检(check()),CPU的运行(run()),硬盘(HardDisk)的读取(read()),操作系统(OS)的载入(load())等,如果某一过程发生错误则电脑启动失败。

使用外观模式模拟该过程,绘制类图并编程实现。

(3)、命令模式

某软件公司欲开发一个基于Windows平台的公告板系统。

系统提供一个主菜单(Menu),在主菜单中包含了一些菜单项(MenuItem),可以通过Menu类的addMenuItem()方法增加菜单项。

菜单项的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个execute()方法,用于调用公告板系统界面类(BoardScreen)的open()、create()、edit()等方法。

现使用命令模式设计该系统,使得MenuItem类与BoardScreen类的耦合度降低,绘制类图并编程实现。

三、实验要求

使用Rose或者Visio绘制装饰模式、外观模式、命令模式模式结构图并用面向对象编程语言实现该模式;

四、实验结果

仲恺农业工程学院实验报告

课程名称:

软件设计模式

班级:

学号:

姓名:

第四次实验报告

一、实验目的

使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式等12种模式。

二、实验内容

(1)、迭代器模式

某商品管理系统的商品名称存储在一个字符串数组中,现需要自定义一个双向迭代器(MyIterator)实现对该商品名称数组的双向(前向和后向)遍历。

绘制类图并编程实现(设计方案必须符合DIP)。

(2)、观察者模式

某在线股票软件需要提供如下功能:

当股票购买者所购买的某支股票价格变化幅度达到5%时,系统将自动发送通知(包括新价格)给购买该股票的股民。

现使用观察者模式设计该系统,绘制类图并编程实现。

(3)、策略模式

设计一个网上书店,该系统中所有的计算机类图书(ComputerBook)每本都有10%的折扣,所有的语言类图书(LanguageBook)每本都有2元的折扣,小说类图书(NovelBook)每100元有10元的折扣。

现使用策略模式来设计该系统,绘制类图并编程实现。

三、实验要求

使用Rose或者Visio绘制迭代器模式、观察者模式、策略模式模式结构图并用面向对象编程语言实现该模式;

四、实验结果

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2