宋行健软件工程实验报告:设计模式-创建型模式2
需积分: 0 64 浏览量
更新于2024-08-04
收藏 2.92MB DOCX 举报
"宋行健同学的实验31是关于设计模式的课程实验,重点探讨了创建型模式,包括原型模式和单例模式的应用。实验在2021年3月30日进行,由王晓蒙老师指导,属于2018级软件工程专业的课程。实验内容涉及游戏开发,具体为游戏的时间控制、键盘消息处理和对象管理。"
在这个实验中,宋行健同学首先详细研究了提供的代码,理解其结构并绘制了类图。代码的核心由三个主要的控制类组成:GameLoopTimer负责游戏时间管理,GameController处理键盘输入,而GameManager则负责游戏对象的初始化和管理。所有游戏实体,如Coin、Player、Map和Number,都继承自一个抽象的Entity类,因为它们共享Image图片和Point2D位置这两个关键属性。Entity类还包含一个isOverlap()方法,用于检测对象间的碰撞。
实验的焦点在于原型模式和单例模式的实现:
1. 原型模式:Coin类利用原型模式进行实例化。在GameManager中,Coin的原型先被创建,随后在refresh()方法中进行深复制,生成独立的Coin对象。深复制确保了新生成的Coin对象可以独立设置位置,不会影响原始对象。Coin类中的clone()方法被重写以支持深复制,避免了浅复制可能导致的共享状态问题。
2. 单例模式:实验中,GameController和GameManager的实例采用了饿汉模式的单例设计。这意味着在类加载时,单例对象就已经创建,提供了一种线程安全且高效的单例实现方式。这种模式确保在整个应用中,这两个类只有一个全局访问点,保证了游戏管理的统一性。
实验31不仅强化了宋行健同学对设计模式的理解,还提供了实际操作的机会,将理论知识应用于解决游戏开发中的具体问题,如对象创建和管理,以及如何有效地利用设计模式提高代码的可复用性和可维护性。这样的实践对于软件工程师来说至关重要,能够在未来的工作中更好地设计和架构复杂系统。
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
萱呀
- 粉丝: 30
- 资源: 354
最新资源
- 开源通讯录备份系统项目,易于复刻与扩展
- 探索NX二次开发:UF_DRF_ask_id_symbol_geometry函数详解
- Vuex使用教程:详细资料包解析与实践
- 汉印A300蓝牙打印机安卓App开发教程与资源
- kkFileView 4.4.0-beta版:Windows下的解压缩文件预览器
- ChatGPT对战Bard:一场AI的深度测评与比较
- 稳定版MySQL连接Java的驱动包MySQL Connector/J 5.1.38发布
- Zabbix监控系统离线安装包下载指南
- JavaScript Promise代码解析与应用
- 基于JAVA和SQL的离散数学题库管理系统开发与应用
- 竞赛项目申报系统:SpringBoot与Vue.js结合毕业设计
- JAVA+SQL打造离散数学题库管理系统:源代码与文档全览
- C#代码实现装箱与转换的详细解析
- 利用ChatGPT深入了解行业的快速方法论
- C语言链表操作实战解析与代码示例
- 大学生选修选课系统设计与实现:源码及数据库架构