导读:机房收费系统个人重构版,在寒假前,已经结束了。嗯,这一路的过程,也挺心酸的。结合师傅验收时的指导、建议,对这一段时间的学习,进行一个总结。
一、学习过程
这一阶段的学习,按照师傅给的建议是:由浅入深,逐步深入。所以,学习起来的困难没有太大。开始师傅是让好好领悟三层,跟我说把三层真正弄懂了,后面就比较顺利。所以,在三层的学习中,大概是花了半个月左右。学完三层,师傅就让先用三层敲通登录、添加 / 删除 / 查询 / 修改用户这五条线。可能也是之前的三层学的还算扎实,这五条线的完成都是比较顺利的,大概就是3天的样子。学习完了这个,就开始了7层的机房重构,机房重构是从12月23号正式拉开序幕的。在敲代码之前,画了包图、类图、部分时序图。让师傅给指导的时候,有很大的不足,那时候也实在是修改不出什么了。就开始敲代码了。正式验收结束是在2月12号,一共是经历了52天。中途由于准备期末考试耽搁了半个月左右,所以总结说来,机房的实际用时是在40天之内。
二、学习安排
机房重构的学习安排是秉承师傅建议的:由浅入深、循序渐进。就是先做简单的,再逐个攻破。先做完了一遍,实现功能之后。马上入手完善之前画的图,敲完代码后,发现之前画的图有很多不足的地方,尤其是时序图,问题很大。在图画完了之后,再去对系统进行了一下完善性的修改。期间也有被困难压住退缩的时候,感谢师傅的指导和帮助。
三、学习中的问题
1,设计模式用的不多,也反应出来再设计模式的学习中,不够扎实。
机房重构用到了:单例、模板、外观、抽象工厂4个设计模式。当时在计算消费的时候,想过用职责链计算有效消费,以及通过策略模式分类型计算消费。但在尝试的过程中,都以失败告终。
2,逻辑不清,导致系统报错后,无从调错。
最深印象的就是有一个错,和师傅们一起都调了好两天。自己也调了两天,但是逻辑不清,导致一些问题都无法解决。也算是因祸得福吧,把那个错调完之后,对于系统的逻辑,运行步骤,以及调错方法,一般系统报错都掌握了很多,所以后来的学习中,问题基本上没有。每次报错,都能很快控制出错范围和出错原因。
3,不太清楚应该将图放在文档中的什么位置。后来是参考了其他同学,包括师傅给的范例给加上去了。相对于第一次画图,这次画的美观、合理太多。
四、验收中的问题
1,分层中的逻辑问题
这也是对于每一层的职责混乱所导致的。大的问题是没有,只是应该在B层进行的逻辑判断,给放到了U层,造成U层很冗杂。还有就是,本应该在外观对方法进行封装的,也没有,造成了外观的作用体现不大。
2,注释的规范化
这个问题主要体现在接口,在接口层通过单引号加的注释,没有规范化,所以导致在B层通过工厂调用的时候,没有对方法进行提示说明。
3,图示说明
在文本文档的完善时,实体的类图,没有添加文本注释,在实际的应用中,实体和数据库的表可能会是不一样的,不能通过数据库设计对实体类图进行说明。在应用的过程中,应该做到:有图就有说明。
4,消费金额的计算逻辑
是以坐出租车的原型进行迁移的,但在最小金额和最小消费时间这两个的理解有点矛盾,机房的收费和出租车的收费还是有差距的。消费金额,必定是根据单位时间消费和消费时间确定的。
五、学习收获
1,技术上
首先,是了解了三层的使用。对比第一次的机房,用外行人的话说就是:代码看着都要舒服、规范很多。然后,自己的感受是,比起第一次机房,在逻辑上,职责分工上,要清楚很多,在修改的时候,比较容易。也就是所谓的:耦合低。
其次,是在实践的过程中,再一次的学习了设计模式。虽然有些还是没能倒腾清楚,但是,有了这些铺垫,我相信以后的学习,会减负很多。
最后,是调错能力。师傅说,自己掌握一些调错的方法,也算是找到了一个耐心的师傅。有错就给你报,还永远不会歇菜和不耐烦。
2,思想上
首先,遇到问题,自己要思考,这是肯定的,但不能走进了死胡同。要深刻理解:不赞成遇到问题交流和不反对遇到问题交流。
其次,不能急于求成。做事儿,都一步一步的来,急于求成,先不说能不能成,就算成了之后,也会有一些后遗症。现在的学习,都是为了以后的学习做铺垫,反正,出来混的,都是要还的。
然后,做系统做软件,应该重视用户的需求。在需求不明朗的时候,花时间去弄清楚需求,也不要花时间去猜去尝试需求。在做系统的过程中,因为对机房的具体使用需求不清楚,导致了大返工,经验教训,引以为戒。
最后,数据备份。要对自己的数据进行备份保存。因为有时候调错,会对系统进行一些修改。还有就是有时候在逻辑上出了问题,需要修改。在做这些的时候,都应该先对原始数据进行备份,以免无法恢复或者恢复困难。在数据备份的过程中,还应该合理命名,从名称知道数据的内容。(要是全部都是:机房重构N,在使用的时候会有一定的难度)