"设计模式实验报告:PowerDesigner绘制类图与常见设计模式实例"
4星 · 超过85%的资源 需积分: 9 7 浏览量
更新于2024-01-13
收藏 363KB DOC 举报
设计模式实验报告文档
实验目的
本次实验的主要目的是熟练使用PowerDesigner绘制类图,构造系统的静态结构模型,并使用PowerDesigner和任意一种面向对象编程语言实现几种常见的设计模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、原型模式、单例模式、适配器模式、桥接模式和组合模式。
实验内容
本实验包括两部分内容,首先是使用PowerDesigner绘制类图,然后是使用PowerDesigner和面向对象编程语言实现八种常见的设计模式。
1. 使用PowerDesigner绘制类图
在本次实验中,我们以某音像图书出租公司的音像图书租赁信息系统为例进行类图的绘制。该系统主要用于处理日常音像图书租借业务,需要记录所有的图书信息、唱碟信息、用户信息和用户租借信息。
根据初步分析,设计人员定义了如下初始实体类:
- Book(图书)类:
- 属性:no(编号)、title(标题)、author(作者)、isbn(书号)、press(出版社)、price(价格)
- 方法:每个属性的get()方法和set()方法
- Disc(唱碟)类:
- 属性:no(编号)、title(标题)、artist(艺术家)、genre(流派)、duration(时长)、price(价格)
- 方法:每个属性的get()方法和set()方法
- User(用户)类:
- 属性:id(用户ID)、name(姓名)、gender(性别)、age(年龄)、balance(余额)
- 方法:每个属性的get()方法和set()方法
- RentRecord(租借记录)类:
- 属性:bookNo(图书编号)、discNo(唱碟编号)、userId(用户ID)、rentDate(租借日期)、returnDate(归还日期)
- 方法:每个属性的get()方法和set()方法
根据以上定义的实体类,我们可以使用PowerDesigner绘制相应的类图,来展示它们之间的关系和属性。
2. 实现设计模式
接下来,我们将使用PowerDesigner和面向对象编程语言来实现以下八种常见的设计模式:简单工厂模式、工厂方法模式、抽象工厂模式、原型模式、单例模式、适配器模式、桥接模式和组合模式。
在每一种设计模式中,我们将根据实例绘制模式结构图,并编写相应的实现代码。然后,我们将运行并测试这些模式实例代码。
通过实现这些设计模式,我们可以更好地理解每种设计模式的原理和使用场景,同时也可以提高我们的面向对象编程能力和代码设计能力。
在实验中,我们可以使用任意一种面向对象编程语言来实现这些设计模式,例如Java、C++、Python等。
总结
本次实验主要通过使用PowerDesigner绘制类图和实现常见的设计模式来提升我们的软件设计和编程能力。
我们首先使用PowerDesigner绘制了某音像图书出租公司音像图书租赁信息系统的类图,展示了图书、唱碟、用户和租借记录之间的关系和属性。
然后,我们使用PowerDesigner和面向对象编程语言实现了简单工厂模式、工厂方法模式、抽象工厂模式、原型模式、单例模式、适配器模式、桥接模式和组合模式,并运行并测试了这些模式实例代码。
通过这次实验,我们加深了对设计模式的理解,并提高了使用PowerDesigner绘图和面向对象编程语言实现模式的能力。这些都对我们今后的软件设计和开发工作有着重要的意义。
847 浏览量
2021-10-08 上传
112 浏览量
113 浏览量
2021-10-06 上传
2022-06-22 上传
2021-09-29 上传
csu周
- 粉丝: 1
- 资源: 2
最新资源
- html5实现经典打砖块游戏源码下载
- 超厉害的象棋开局库obk文件
- 行业文档-设计装置-一种平压压痕切线机的夹纸机构.zip
- initializr-gradle-start
- html案例作品优品购项目.zip
- awesome-actionscript:精选的ActionScript框架,库和软件的清单
- flask_credential_manager:允许用户管理其凭据
- 行业文档-设计装置-一种具有储物功能的电脑主机箱.zip
- yyfx.rar_4 3 2 1_C语法制导翻译_三地址_实验3递归下降_语法制导翻译
- java_learn_ST:https:github.comSmallSparklelearn_java_ST
- spring-boot-postgress-example-master:带有Postgress的SpringBoot示例
- js实现年会现场幸运观众抽奖系统源码下载
- core_ordering:订购机器人
- 慕云游项目静态开发.zip
- 行业文档-设计装置-陶瓷基复合材料砂轮结构.zip
- Rust中基于DEFLATE的流式压缩/解压缩库。-Rust开发