你能保证你的程序不会出问题吗? 不能 当你的程序执行到某个地方发生了你不想要的结果.你是否想让它一错再错? 不想 你是否想让你的程序占着茅坑不拉屎? 不想 你是否想知道你的程序出错的原因? 想 个问题之后.假设你的回答和我的一致,那么请看下文 trycatch finally的使用方法: try '你想要写的程序 catch '捕获你想写的程序里面全部发生的异常 finally '不管发生还是不发生异常,你都想运行的代码 演示样例: Dim Update_Info As String = "up…
分层 分层是为了减少层与层之间的依赖,添加程序的可读性,让整个系统结构清晰明白.还可大大减少维护成本,可是分层也有一定的缺点,有些能够直接訪问数据库的层,却要通过负责訪问数据库的层进行訪问.这样,在訪问数据库过程中就多出一个环节,添加了系统的开销,有时候要在表示层添加某个功能.为了减少耦合,就不得不自上而下,在每一层里面添加这个功能所需的服务类,这样就添加了开发成本 分层越多越好吗?答案是否定的,引用一句话"我们也要     时刻谨记:不能盲目分层,不应分层而分层不应模式而模式. 这是非常重要的…
近期在敲机房,对于SQLHelper也是心里有些怵,由于原来没用过,可是看了一些博客和资料后发现,假设不用这个类,会大大添加代码量,并且,事实上它并不新,它是一个有多个关于数据库增删改查操作的语句函数的类,使用这个类能够方便D层调用,对数据库的操作,我们无非就是增删改查,而函数就是有无參数,有无返回值,SQLHelper是个新词,只是我们却一直在用,仅仅是我们不这么叫,之所以叫SQLHelper,理所当然它是D层操作数据的助手, 在SQLHelper类中实现的方法包含:            …
接着上篇我们说的配置文件,今天我们来说一下接口. 1.UML图 2.三层架构 3.Sqlhelper 4.配置文件 5.接口 6.设计模式 什么是接口呢?我们可以将接口理解为用于沟通的中介的抽象化.可以将接口理解为我们生活中的“中介”.那么我们为什么要在机房收费系统中加接口呢?机房收费系统中的接口到底起着什么作用呢?看一下下面这段代码,这是我接口的一段代码. '********************************************************************…
因为之前对泛型研究了一番,所以就開始尝试着在机房收费系统重构中增加了泛型的使用. 可是到了做学生查看剩余金额这个功能的时候,还是依照之前的方法做的,可是在载入数据的时候班级这个框就没有显示出来--然后我就纳闷了. 我就去看这一段的代码,发现也没什么问题呀.都是在赋值呀.然后我就单步调试,也是走了那一句赋值的代码,可是没有值,为什么其它的都Ok,所以我就非常纳闷,由于这个地方我用到了视图,我以为是视图出了问题.然后就去查我的视图.可是我想了一下,视图就是一个虚拟的表,仅仅要建好了.跟直接调数据库表…
之前做机房收费系统用的报表是Grid++Report,这次VB.NET重构中用到了VisualStudio自带的报表控件. 刚開始当然对这块功能非常不熟悉,只是探究了一段时间后还是把它做出来了. 以下把在VisualStudio(我用的是VisualStudio2013,假设与您使用的版本号不同,过程中如有不符还请考虑实际情况)中制作报表的过程尽可能具体地记录下来,供刚開始学习的人学习參考. 做事要有全局观,先看一下成品,做好的报表例如以下图: watermark/2/text/aHR0cDov…
重构版个人机房收费系统大概从暑假开学開始进行.花了不到一个半月的时间才完毕.以下对我在重构过程中的一写理解. 1.系统设计一个非常重要的目的就是重用.而要做到重用,低耦合是最有效的手段回想一下我们C/S的整个学习过程,我们能够发现.从開始的VB版的机房收费系统,然后到如今VB.NET版.加设计模式.对系统进行分层.这个过程就是在对系统进行解耦.要解耦,首先就要进行抽象. 把多次.反复用到的代码进行封装.其余的部分运用继承或者多态的思想,来进行使用. 在机房收费系统中我们所涉及到的一些解耦的方式:…
总感觉这次机房收费系统非常有份量,一直没有下手总结,从2014-7-27至2014-9-29.这中间有太多故事和成长.首先说一下两次机房收费系统的不同,它是我们从面向过程向面向对象的一个转变.在.NET平台下开发,採用三层思想,并加入了一些设计模式.然后说一下我的变化,无论从思想还是技术上绝对是一笔財富.经过这次机房收费系统.我更加坚信两句话:"出来混迟早都要还的""一切都会过去的". 这次个人重构:7.27-8.11(绘图阶段,当中包含数据设计2天):8.12-9…
距离机房收费系统已经过去了近2个月之久,如今的UML图才出来,从软件开发设计的逻辑上来讲这是顺序有问题的,不过,对于我们而言,而且是初次用面向对象的思想去设计和建模,就当是UML的一个实战练手的项目吧.正儿八经的从文档到UML建模到代码实施,严格按照软件工程的这一套程序跑下来,估计得到个人机房重构了. 以下的UML图是从已经设计好的机房中来,由于我的机房的思路和大家不太一样,当初我是侧重机房管理工作的职能分工来设计的系统.详情请点击我的博客--<机房收费系统--用户权限和功能分析>.因此一些图…
我个人一直认为,组合查询是机房收费系统的一个难点,尤其是用到三层之后,如果要为组合查询中的每一个查询建立一个显然是太麻烦了. 下面介绍一下我的方法,对大家起个参考作用. 我将该表中可输入的内容定义为一个类,这样调用一次B层和D层就可以了完成查询了. 我以学生上机记录查询为例 1.UI层 Public Class FrmQuerryRecALLStuUP Protected Overrides Sub cmdQuerry_Click(ByVal sender As System.Object, B…