第二次做机房,相比第一次状况好多了。时间上抓紧了一些,内容上有了新的突破,视野上也宽阔了。前几天准备C++,所以现在简单的总结一下。整体做完后,可以说是把这半年学的东西都用了一遍(软件工程、UML、设计模式、.NET)这是我们走向职业化编程的初步尝试,很多方面做得不是很好,但是揭开了这层纱,对软件开发的过程又有一个体会。
曹祖胜讲的.net视频,是一个理论层面的研究,其实我没怎么看懂。敲三层和个人重构,都是用的vb.net,基本语法和vb很像,敲着比C++顺手。而且经过三层的学习,高内聚低耦合,整个架构更能突出面向对象的设计理念。加入了设计模式中的抽象工厂模式,模板方法模式,提高了代码的复用性,通过sqlhelper对D层的数据库进行增删改查的操作,同泛型集合将D层的datatable类型的返回值转换成实体集。在数据库中使用了存储过程查找、增加、删除、修改数据。但对反射还是不太理解,师傅说让我再思考思考,我现在也想不明白,在多次的实践中理解吧。这次用的是EA画图,第一次用,出了好多问题,知道了如何画用例图、包图、类图,最后一个时序图。其实这次我本来打算敲几条线再返回来画图,但是代码一敲完全停不下来,所以图是最后画的。最后画图也有好处:通过敲完一遍的代码,对三层设计、面向对象、类的方法、属性以及各个参数在图中的表示有了感悟。也能想象出软件设计的博大精深,为下一次的软件设计做个铺垫。
敲代码是很简单的,问题是调试。刚开始我调试不出来,请教了别人几次之后,整理了各个类型的错误,就完全找到了节奏。大多是类型不匹配啊、缺少引用等。出问题最多的就是日期和时间。我数据库设计的时候,日期和时间设置成了2个字段,所以后来不得不把数据库日期、时间的类型都改成varchar。后来经过别人指点,看了别人博客,才知道在软件设计中日期时间一般设计为一个字段,需要哪部分,提取哪部分,这样也容易和VS数据类型对应。大家注意吧!
做好时间管理。按功能来定计划时间,自己先思考,遇到问题,思考时间超过预定期限,要及时和别人交流。一把双刃剑吧,少走了弯路,也少了成长的机会。在返回datatable、实体、泛型集合方面,吸收“前人教训”,没有出问题。
VS很强大,我们用的只是冰山一角。知识是用来交流的,和别人在一起交流,你才发现原来“世界”这么大。后边画图的时候,深深体会到了。思考、讨论、博客都是提升自己的武器,大家多多交流哈!