2019春季学期软件构造Lab3

简单聊聊这次实验吧。

实验手册: Lab-3 Reusability and Maintainability Oriented Programming

框架设计

这部分做的比较少,由于之前看过不少工程代码,大致构思了下就开始写了。

大致构思:

模块 设计
轨道 由于是圆形,只考虑半径即可
轨道物体 名字,位置,以及其他属性
中心物体 名字
轨道系统 轨道,轨道物体,物体间的关系

解析文件

通过正则表达式即可完成,难度不大。
有个小技巧可以避免空白字符干扰的问题,就是在匹配前处理掉所有空白字符,即

1
relaceAll("\\s+","");

但是,使用正则表达式会导致严重的效率问题,读入一个稍大(1mb)的文件,就会让解析时间超过其他所有部分运行时间总和的数倍。在后续实验中,考虑优化。

设计模式

涉及的不少设计模式,但是个人感觉很多并没有什么用。由于时间原因,就没有全部实现,也没有必要。

实验中参考的设计模式的相关资料:
设计模式-w3cschool
23种设计模式全解析

图形化界面

这部分emmmm,一直很讨厌画ui。完全不想学.jpg
感谢lqh大哥带我!
TrackGame部分需要画一个表格,当然是选择上世界最大同性交友网站Github找个现成的了!
consoletable

312Change

这部分更改/增加了一些需求。由于原来的代码健壮性比较好,基本没怎么改动就完成。不多说。

小结

实验总体难度不大,工作量也还行,但是提前两天肯定是写不完的,所以提前三天是 有可能 写完的。
老实话,收获有,但是真的不大。很大一部分是为了实验而实验。

Code For Fun!


2019春季学期软件构造Lab3
https://250.ac.cn/2019/05/08/2019春季学期软件构造Lab3/
Author
惊蛰
Posted on
May 8, 2019
Licensed under