仲恺软件设计模式实验指导书 下载本文

内容发布更新时间 : 2024/5/19 2:20:28星期一 下面是文章的全部内容请认真阅读。

软件设计模式实验指导书

适用专业:计算机科学与技术,网络工程

制 定 人:郑建华

信息科学与技术学院

2016 年 9 月

软件设计模式实验指导

一、实验目的

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

二、实验内容

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

(1)、 简单工厂模式

使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,请实现该场景。现需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进行修改并注意女娲的变化。

(2)、 工厂方法模式

海尔工厂(Haier)生产海尔空调(HaierAirCondition),美的工厂(Midea)生产美的空调(MideaAirCondition) 。使用工厂方法模式描述该场景,绘制类图并编程实现。

(3)、 抽象工程模式

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

(4)、 单例模式

用懒汉式单例实现在某系统运行时,其计数用的类只能有一个,如果第二次实例化该类则默认采用第一个计数实例。绘制类图并编程实现。

(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)、 装饰模式

在某咖啡店,用户可以在选择茶或者咖啡作为基础饮料,还可以任意添加红糖、奶油、冰糖等料,请用装饰器模式实现该店饮料计费系统,以便能方便的计算不同类型的饮料价格。使用装饰模式设计该系统,绘制类图并编程实现。

(8)、 外观模式

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