实验1设计原则与模式实践2.docx

想预览更多内容,点击预览全文

申明敬告:

本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己完全接受本站规则且自行承担所有风险,本站不退款、不进行额外附加服务;如果您已付费下载过本站文档,您可以点击这里二次下载

文档介绍

西南科技大学计算机学院 《软件设计模式与重构》实验报告

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)在使用该图形库时发现存在如下问题:

由于在创建

最近下载