全球旧事资料 分类
实验二设计模式实验一
一、实验目的
熟练使用面向对象设计原则对系统进行重构;熟练使用PowerDesig
er和任意一种面向对象编程语言实现几种常见的设计模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、桥接模式和组合模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式,并学会分析这些模式的使用效果。
二、实验内容
使用面向对象设计原则对系统进行重构;使用PowerDesig
er和任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、桥接模式和组合模式,包括根据实例绘制模式结构图、编写模式实例模拟实现代码,运行并测试所编写代码。
1面向对象设计原则在某图形库API中提供了多种矢量图模板,用户可以基于这些矢量图创建不同的显示图形,图形库设计人员设计的初始类图如下所示:
Clie
t
Circle
Tria
gle
Recta
gle
i
it
void
i
it
void
i
it
void
setColorvoid
setColorvoid
setColorvoid
fill
void
fill
void
fill
void
setSizevoid
setSizevoid
setSizevoid
displayvoid
displayvoid
displayvoid



在该图形库中,每个图形类(如Circle、Tria
gle等)的i
it方法用于初始化所创建的
图形,setColor方法用于给图形设置边框颜色,fill方法用于给图形设置填充颜色,setSize
方法用于设置图形的大小,display方法用于显示图形。
客户类Clie
t在使用该图形库时发现存在如下问题:
①由于在创建窗口时每次只需要使用图形库中的一种图形,因此在更换图形时需要修
改客户类源代码;
②在图形库中增加并使用新的图形时需要修改客户类源代码;
③客户类在每次使用图形对象之前需要先创建图形对象,有些图形的创建过程较为复
1
f杂,导致客户类代码冗长且难以维护。现需要根据面向对象设计原则对该系统进行重构,要求如下:①隔离图形的创建和使用,将图形的创建过程封装在专门的类中,客户类在使用图形
时无须直接创建图形对象,甚至不需要关心具体图形类类名;②客户类能够方便地更换图形或使用新增图形,无须针对具体图形类编程,符合开闭
原则。绘制重构之后的类图并说明在重构过程中所运用的面向对象设计原则。2简单工厂模式使用简单工厂模式设计一个可以创建不同几何形状Shape,如圆形Circle、矩形
Recta
gle和三角形Tria
gle等的绘图工具类,每个几何图形均具有绘制Draw和擦除Erase两个方法,要求在绘制不支持的r
好听全球资料 返回顶部