VB.NET版机房收费系统采用OOP的编程思想,从系统的三层架构中可以看的出来。在机房重构中用到了三层的思想,使各层高度解耦。三层之间各司其职,互不影响,从而保证了系统的正常运行。
SQLHelper类的使用
刚开始设计D层时,每一次与数据库进行交互都要去链接字符串连接SqlConnection,SqlCommand,SqlDataReader语句,这样重复性的写代码很是麻烦,于是想到了将这些与数据库链接的语句用一个类封装起来,这样在编写其他的代码直接调用就OK了。在网上查了查,知道了SqlHelper类的存在,也对SqlHelper类中的代码进行了研究,大部分的代码还是理解的。在机房重构的过程,对SqlHelper类的使用也比较娴熟了。
在机房各层之间传递的参数都是实体,在D层中查询出来的数据库的数据是以DataTabled的传递的,使用DataTable作为参数有一些缺点,最大的缺点是降低了数据库的安全性,不符合面向对象的思想。这时便用到了了泛型,用泛型替代DataTable对象进行传递数据,不仅可以保护数据的安全,而且也符合了面向对象的思想。这一块的详情请看博客《泛型集合替代DataTable》
之前学习的设计模式只是按照书上的代码再加上自己的理解,把里面的例子敲了一遍,可是没有得到实际的应用,这次的机房重构就是一个很好的实践机会。在机房重构过程中,学着使用了一些设计模式,如实现下机功能时利用了策略模式计算消费时间,职责连模式计算消费金额等。在这个过程中,我觉得课本上的基础知识很重要,只用理解了这些设计模式的原理,在敲代码的过程中才更加自如。当
在系统中有很多的功能涉及到判断卡号是否存在,文本框是否为空值等,为了简化代码,对这些公共的功能可以封装到一个类中。这样,在实现功能的时候直接调用就OK,这也是面向对象的思想。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |