实验1设计原则与模式实践2.docx
- 缎百里个人认证 |
- 2023-06-03 发布|
- 227.03 KB|
- 22页
西南科技大学计算机学院 《软件设计模式与重构》实验报告
PAGE 3
PAGE
实验名称:实验1 设计原则与模式实践1 学期:2022-2023学年 第二学期
任课教师: 周巧临 专业: 软件2006 学号: 5120200391 姓名:陈旭辉
实验目的
1.熟练使用面向对象设计原则对系统进行重构;
2.熟练使用面向对象编程语言(JAVA或C++)实现几种常见的设计模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、适配器模式、外观模式、模板方法模式和建造者模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何在软件开发中使用这些模式。
实验要求
1. 选择合适的面向对象设计原则对系统进行重构,正确无误地绘制重构之后的类图;
2. 结合实例,正确无误地绘制应用模式后的UML图;
3. 应用相应的模式实现实例,要求代码运行正确,给出运行结果。
实验内容
1. 某英雄竞技手游中,英雄包含隐身、沉默、射箭、眩晕、位移等技能,项羽拥有隐身、沉默、位移的技能,后羿拥有隐身、沉默、射箭、眩晕的技能,为此,我们设计了这样一个ISkill接口,这样的设计是否合理?请说明合理或不合理的原因并绘制重构之后的类图。
重构之后的类图
重构过程中所使用的面向对象设计原则及简要说明:
迪米特原则、接口隔离原则、单一职责原则、开放封闭原则
2. 在某图形库API中提供了多种矢量图模板,用户可以基于这些矢量图创建不同的显示图形,图形库设计人员设计的初始类图如下所示:
在该图形库中,每个图形类(如Circle、Triangle等)的init()方法用于初始化所创建的图形,setColor()方法用于给图形设置边框颜色,fill()方法用于给图形设置填充颜色,setSize()方法用于设置图形的大小,display()方法用于显示图形。
客户类(Client)在使用该图形库时发现存在如下问题:
由于在创建