黑马程序员技术交流社区

标题: 感受 [打印本页]

作者: 星辰shine    时间: 2016-3-14 20:23
标题: 感受
机房重构已经结束了半个月之久,今天对机房重构做一个总结。VB.NET版机房从数据库开始、文档、UML图和系统设计,按照软件开发的步骤来的进行的。VB.Net版机房收费系统更加符合了面向对象的思想。下面说一下我在机房重构中学习到的知识和在这个过程的感受。
    面向对象

     VB.NET版机房收费系统采用OOP的编程思想,从系统的三层架构中可以看的出来。在机房重构中用到了三层的思想,使各层高度解耦。三层之间各司其职,互不影响,从而保证了系统的正常运行。

  

    SQLHelper类的使用

     刚开始设计D层时,每一次与数据库进行交互都要去链接字符串连接SqlConnection,SqlCommand,SqlDataReader语句,这样重复性的写代码很是麻烦,于是想到了将这些与数据库链接的语句用一个类封装起来,这样在编写其他的代码直接调用就OK了。在网上查了查,知道了SqlHelper类的存在,也对SqlHelper类中的代码进行了研究,大部分的代码还是理解的。在机房重构的过程,对SqlHelper类的使用也比较娴熟了。

    泛型的使用

    在机房各层之间传递的参数都是实体,在D层中查询出来的数据库的数据是以DataTabled的传递的,使用DataTable作为参数有一些缺点,最大的缺点是降低了数据库的安全性,不符合面向对象的思想。这时便用到了了泛型,用泛型替代DataTable对象进行传递数据,不仅可以保护数据的安全,而且也符合了面向对象的思想。这一块的详情请看博客《泛型集合替代DataTable》

    设计模式的使用

     之前学习的设计模式只是按照书上的代码再加上自己的理解,把里面的例子敲了一遍,可是没有得到实际的应用,这次的机房重构就是一个很好的实践机会。在机房重构过程中,学着使用了一些设计模式,如实现下机功能时利用了策略模式计算消费时间,职责连模式计算消费金额等。在这个过程中,我觉得课本上的基础知识很重要,只用理解了这些设计模式的原理,在敲代码的过程中才更加自如。当

    代码的封装

     在系统中有很多的功能涉及到判断卡号是否存在,文本框是否为空值等,为了简化代码,对这些公共的功能可以封装到一个类中。这样,在实现功能的时候直接调用就OK,这也是面向对象的思想。


    感受     时间管理:机房重构本想着利用40多天就完成的,可是项目还是延期了,归根到底还是自己的时间没有分配好。从1月份中旬开始,考试,测试,自考等各种需要做的事把自己原先的机房计划打乱了,不得不有重新计划时间。通过这件事儿看出了自己还需要在时间管理这方面进行锻炼。
     全心全意为人民服务:这次机房验收了两遍了,第一次没有通过,除了一些的功能实现有些缺陷之外,最重要的还是系统界面没有优化,界面是用户对你这个系统的第一印象,不管你实现的功能多好,多完美,只要是用户对你这个系统界面不满意,那么这个系统就是失败的。
     OOP的强大:在学习C/S第一个项目时,就知道了面向对象的好处的。但仅仅是知道的,也没有通过实物看出来。这次用VB.Net实现的机房实实在在让我体会到了OOP的强大。就拿代码实现和系统维护来说,由于各层之间耦合性低,无论对一个类进行怎样的修改都不会影响到其他类。这比VB6.0实现出来的机房可靠的多。在今后的编程中,OOP会引领软件设计潮流的。
    总结     这次机房重构让自己对软件开发的流程有了一个了解,也使自己向着专业化更迈进了一步。下个阶段是机房合作,走起....





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2