我想这是历时最长的一个程序,机房收费系统,从去年七月份开始,到现在,依旧没有完成,听着都恐怖,但是,下面讲讲为何他历时如此长的时间。
***********************************************2011年八月**************************************************
第一次做机房收费系统:
去年八月主要任务时short brain,当然,计算机是不可能丢弃的,第一次做机房收费系统,那是一个顺便发挥的年代,只要你会VB,只要你知道机房收费系统要实现什么功能,代码随便写,随便定义,随便复制粘贴,所以,那一次机房收费系统完成的是如此顺利,但是这好比小孩子玩泥巴一样,可以用泥巴随便捏成房子汽车,但是去无法使用,而他的作用在于极大给了我兴趣和信心,为后续的工作做了铺垫。而后续半年的工作也就是让这个用泥巴捏汽车的孩子真正的去一点一点开始制造玩具汽车、真正的汽车。
************************************************2011年九月*************************************************
软件工程:
当然,写程序是需要一定的章法的,想第一次做的机房收费系统显然无论从强壮方面美观方面还是可升级可维护性都是很差劲儿的,设置需要多少材料(代码、数据库表等)都是未知的,基本上就是写到哪儿算哪儿,当然,我们需要的不是这样的,所以,要解决这个问题,首先要学的就是软件工程。
软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。对于软件工程的学习是泛泛的,向蜻蜓点水一样,感觉软件工程是一个庞大的学科,根本不是我这样的菜鸟一时半会儿能学会的,我只能把我需要的从软件工程中学会。即,文档,文档对于我来说,就像是给系统画一个蓝图,大致告诉不懂编程的客户和懂编程的开发者这个项目是否从技术到价值上是否可以实施,如果可以项目的计划,项目的进度,项目需要的材料,项目需要的资金,项目需要多少人力物力,项目完成后如果测试项目可以运行,以后的维护等等。
《机房收费系统》文档:
看完软工视频,接下来就是写《机房收费系统》的文档,在当时看来这并不是一件轻松活,甚至很纠结,但是,经过就好。
***********************************2011年10月***********************************************
UML:
十月是属于UML的,如果说文档只是一个蓝图,就是告诉我们我们需要做什么,而UML图,我认为,应该是告诉程序员,我们要怎么做,UML是吧文档中怎么做的一个细化,就像是制造汽车,UML就相当于告诉我们汽车的那些部分可以放在一起制造,那些部分需要什么,包括每个连接点需要拧几个螺丝都要知道,对于项目而言,它从大的方面,他要分出系统的层,包与包之间的关系,类与类之间的关系,包括每个函数名称,名称的参数返回值等都要写到位,可以这么说,一个好的UML图,可以使代码编写变成无需思考的机械化。
UML图主要总结为一张思维导图,请参加:
《机房收费系统》UML图:
看UML视频的时候,可能是不喜欢那个老师,而且听的内容也很生疏,所以基本上没有特别深的印象,但是《机房收费系统》必须要有UML图做支撑,于是借了一本学UML 的书,感觉第一次画《机房收费系统》的UML图,感觉就是生疏,画不好。
*******************************2011年11月*****************************************************
C#+<大话设计模式>:
学C#就是为了看《大话设计模式》,暂且不提,之前也偶尔听到做设计用到什么什么模式,但是当真正了解他时,感觉又是不一样的,一开始接触《大话设计模式》时,感觉这正是一本好书,讲的诙谐易懂,多于初学设计模式的人来说简直就是个宝,所以看设计模式也是很轻松的,为什么要看设计模式呢,我是这样理解的,设计模式是整个程序的思想,就像我们要制造一辆车,车头制造成圆的、方的、多边形的都可以使汽车跑起来,但是如何在同等的情况下让汽车跑的更快更稳,可能更多的人遵循更快更稳更省这几条原则把车头制造成流水线的,这就是制造汽车的思想所在,也就是程序中的设计模式,当然,这些设计思想我们可以在我们写程序中自己悟出来,当时当前人已经做过的事情,我们就无需在浪费时间了,直接拿过来,学会了,变为已有,把我们的时间用来创造前人所没有的,这也就是站在巨人肩膀上的思想。而《大话设计模式》这本书就是前人思想的精华,我们可以慢慢体会。
具体请参加我的CSDN博客:
学习《大话设计模式》的时候,刚开始挺纠结的,虽然他将的通俗易懂,但是我边看变想,这种思想如何运用到我的《机房收费系统》中,但是,好像是不是那么容易。。。。
*************************2011年12月****************************************************************
MVC+三层
我对MVC的理解不是很多,主要是理解三层,这里推荐小崔一篇关于MVC和三层的博客:初始MVC与三层架构
再说三层与程序的关系,我们知道,制造一辆汽车一个人是不可能完成的,他需要人与人之间的相互配合,当然,现在的这种配合应该是天衣无缝的,因为人们已经掌握了这种技术,而制造汽车有是复制的过程,而程序不一样,需要复制的程序只用Ctrl+C,Ctrl+V就可以完成,而我们所写的程序都是需要重新设计完成的,所以,程序员之间的分工和重要,比如有人负责车轮,有人负责地盘,有人负责车棚,等等,当然,为了节省时间我们需要同时做,但是,这就需要设置一个规定,即,我的车轴设计多大才能正好把你的车轮安好,当然,除了这个,比如说,我制造车轮,突然我不干了,剩下的必须有一个准则让其他人直接就可以接手,或者说,我的这车轮制造好了,我想把这项技术直接运用到其他的车辆上,程序设计也是一样的,我们需要一个规范,让程序的复用、维护、扩展、灵活性等变的更好。
运用三层+设计模式思想重构《机房收费系统》的UML图
当运用这么多思想性的东西写画UML图时,明显感觉把持不住,有种不知道该怎么办的感觉,但是,风雨过后就是彩虹,现在已经明显感觉到了。
**********************2012年1月*******************************************************************
重构《机房收费系统》
一月,除了过年,就是重构《机房收费系统》了,万事开头难,刚开始还是感觉不顺手,VB.NET学习时间也不是太长,甚至有种学了跟没学一月,以至于前面我都没有提它,的那是,这毕竟是从泥巴车到玩具车的一种蜕变,所以感觉还是棒棒的,
到此,似乎已经完成了第一次蜕变。
上面主要顺了一下一个学期所学的东西,用《机房收费系统》这条线整理下他们之间的关系,其实不难发现,没有一门课是独立存在的,它们之间前前后后都会有关系,其实说白了他们同样都是为了一个目标,就是把程序写好,写出一个强壮的系统,所以,无论是以上所学的哪一种,只要遵循着这一个道理,就一定可以学好的。
整个过程也就是一个程序慢慢实现的过程,只是我的比较特殊,我是边学习变实验,所以耗时比较长,但是在学习中实践,在实践中学习,不更是一个不错的学习方法吗?
下一步,就是合作重构《机房收费系统》,纠结大家的支护,我想,一定是很让人期待的!!!
原文链接:https://www.f2er.com/vb/260329.html