从.net版的机房收费系统入手到收工,已经过了好长的时间,现在回过头来看,实在是不该把战线拖得如此的长。期间的事也是比较多,如等级考试、自考、期末考试等等,这里就不在多说了。一路走来(虽然走的有点慢),都不时的被或大或小的问题围绕,可以说,正是这些问题才早就了现在的收获,虽然做的系统还漏洞百出,但却已和之前大不相同。
软工、UML、Rose画图、C#、大话设计模式、MVC与三层、VB.NET,之后就是个人版的机房收费系统了。这其中,画UML图着实让人头疼。刚开始的时候,都无从下手,也就是“依葫芦画瓢,比猫画虎”,而且画的还不像。在给悦姐审查之后,又重新回来改,自己也曾改过好多次,在感觉差不多之后,就开始做了个登录的小例子,以加深对三层的理解。不过,后来在做机房收费系统的时候,才发现之前对三层理解的并不是很好,所以也就慢了下来,一边考虑一边做。画UML图的时候也没有考虑周到,以致于后续的工作中,都是边做系统,边改UML图。
准备工作说完了,接下来说说设计时期的问题。一个高效的系统是离不开好的数据库的。由于涉及到分层,所以没有按照之前的数据库设计。在网上查过资料之后,发现数据库的设计应该遵循三范式。于是开始设计数据表。先是把用得到的表都列出来,然后在比较有没有可以合并的。之后,在考虑表中的字段、数据类型等等。在数据表差不多完成之后,就开始敲实体类,根据数据表来创建实体类。那时,也没有考虑到会用到哪些实体类,是不是需要其他的属性、方法之类的,也没有过多的思考,就根据数据表设计。导致后来的工作中,经常到实体类里边去添加删除属性、方法等。而且考虑到一些特殊的情况,还增加的实体类。把原来的实体层改的面目全非。
在实现各个层的时候,起初是按照功能UI层、BLL层、DAL层还有工厂、接口等同时做的,在对三层有了一个比较深的了解之后,才开始逐层的写代码。不过,这样一来,错误百出,.net语法的问题、命名的问题、接口问题、返回值问题都一一出现。开始的时候很头疼,不过在找到问题的所在之后,就轻松的多了。解决只是时间的问题。前几天在做日结、周结账单的时候,遇到了点问题,关于rdlc报表的问题。给报表添加数据源可以有两种方式,一是利用控件,二是用代码实现。这就出现问题了,用控件实现的话,在不添加代码的情况下,显示的时候会把整个数据表全部显示出来。当然,添加代码之后,这也不会造成什么影响。
说到对三层的理解,在开发过程中,由于没有怎么用设计模式,所以只是简单的几层——UI、BLL、Factory、IDAL、DAL、Entity等。UI层只是接收用户操作、数据和输出数据的,不应该有业务逻辑和其他的操作,但在写代码过程中,往往有一些不知道应该放在哪里?放在UI层吧,感觉是逻辑不合适。放在BLL层吧,又感觉不像是逻辑。或许应该放在外观层,不过没有加外观,只能期待在合作的时候试一试了。
通过这次的项目,我学到了很多,对之前学习的课程也有了进一步的加深,对三层的理解也更加的透彻了,对面向对象编程也有了更加具体的认识,虽然还只是“鸡窝”,但我相信通过不断的学习、不断的积累、不断的项目驱动,我们的搭建的技术也会随之提高的。
用一句广告词来结尾:学习,永不止步。。。