![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
vb.net机房收费系统重构
水田如雅
不生产代码,只是代码的搬运工
展开
-
DataGridView.DataSource= list(Of T)
在D层查询完成之后,我们将DataTable转化为泛型集合,然后经过中间各层,返回U层,到了这里,问题来了,我们这时候要将这个集合作为数据源绑定到DataGridView上,并将结果显示出来,本文主要介绍的就是如何将集合显示在DataGridView上的问题。(或许你返回的是datatable或一个实体,它们加载数据的原理是一至滴~)原创 2014-06-05 20:42:23 · 7437 阅读 · 38 评论 -
单例模式——解决MDI子窗体实例化的问题
机房收费系统进行有一段时间了,但是始终有些历史遗留问题。比如,如何MDI子窗体如何显示在上层的问题和MDI子窗体实例化的问题。 对于如何显示在上层的问题,我这次采用的还是SetParent函数,在模块里面添加: '定义一个用来设置子窗体的函数 Declare Function SetParent Lib "user32" Alias "SetParent" (原创 2014-06-01 21:33:38 · 3327 阅读 · 19 评论 -
DataTable填充实体类返回泛型集合
昨天找坤哥看到我的一段代码,如下: 稍微解释下,这段代码时D层查询结束后,将datatable查询到的结果赋值给实体对象的属性,然后返回实体的过程,坤哥看了之后问我,如果实体有500多个属性,难道也要这样一条一条的写吗?如果返回多个实体时怎么办?这时,我才意识到自己的代码时非常有问题的,原来设计的是每个方法最多返回一个实体,但是当遇到查询到多条记录的时候,原创 2014-06-02 20:05:20 · 3800 阅读 · 60 评论 -
重构中对设计模式的反思
什么是设计模式? 每一类编程语言都具有其自身的特性,就像是面向对象的语言,其特性就是封装,继承,多态,抽象. 同时,使用每一类编程语言开发软件时也都有一些设计准则,这些准则保证了软件的质量,即具有良好的设计. 而设计模式则是广大软件开发人员总结出的开发经验技巧,它们利用编程语言的特点,实现这些准则.因此,可以想象,当我们对设计模式熟悉到一定程度后,在设计系统时,我们眼里就会变得原创 2014-07-06 16:10:50 · 2286 阅读 · 31 评论 -
机房收费重构——关于上下机的再思考
有句话叫做no zuo no die,我大概就是这种人吧。why?做机房收费系统的时候,按照一般方法也能实现,但这次做上下机的时候,感觉这么做没有什么好玩儿的了,然后就停下来,重新想想上下机还能怎么做? 后来,大致采用的思路是这样的:将上下机的读写数据的过程写成两个存储过程,负责读取和更改数据。中间的计算过程写在代码里面:中间判断时间的过程用职责链模式来实现,判断一般用户原创 2014-06-14 10:10:48 · 2468 阅读 · 39 评论 -
为什么会找不到D层文件?
最近两天在重装系统,今天好不容易把各种东西都装齐全了,再打开,就提示如下错误: 看到这个问题,我感觉很熟,因为一起遇到过两次这个问题,都是改了下D层的编译路径,改到了U层的bin\Debug文件夹下。所以这次也照样复制粘贴,但是运行还是报这个错。这让我不得不从头想想问题到底出在哪里了。1,为什么要为D层手动修改编译时的输出路径? 这个问题还得从咱们的包图和引用关原创 2014-05-29 20:57:52 · 2138 阅读 · 28 评论 -
小结:VB.NET机房收费系统个人版
也许有一天,你发觉日子特别的艰难,那可能是这次的收获将特别的巨大!原创 2014-07-21 21:22:21 · 1908 阅读 · 22 评论 -
回看存储过程
周六周日写了些查询的窗体,感觉没什么新鲜的东西,都是一堆select,后来写的到了注册,上下机等,在一个方法里面,包含了多个增删改查的过程,可能上一个访问数据库的过程返回的结果又是下一个访问数据库读取数据的参数。也就是说,这些对数据库的增删改查是一个连贯的动作,比如,注册一个学生的时候,涉及到注册金额,这个注册金额同时也要写到充值表里面去。既然他们是一起的,后来就很自然想到了用存储过程,将多条SQ原创 2014-06-09 11:17:26 · 2241 阅读 · 30 评论 -
图解Join
在做机房收费系统中,涉及到多张表的查询时,用到了join,感觉很不错,学习了下join,顺便复习了下高中数学。 现在,用机房收费系统中学生信息表和学生上机表做个小DEMO~ ,如图: 表A:学生信息表: 表B:学生上机表:原创 2014-06-29 16:26:26 · 1845 阅读 · 18 评论 -
机房收费重构——关于面向对象和分层的纠结
机房收费系统的重构已经开始很久了,最近两天才感到有了一点儿头绪。 对这次重构,刚开始计划的是先做数据库,然后优化下,列出每个窗体对表的访问关系,抽出常用的访问作为存储过程,然后把访问数据库的常用方法封装成SqlHelper.这部分就是数据库的部分。 然后就是软件的结构:整体上是分了七层:三层+实体+外观+抽象工厂+D层接口。虽然计划的很好,但是在具体分层这里想了很久。原创 2014-05-25 15:12:50 · 1946 阅读 · 35 评论 -
机房收费系统一些小Tips
做重构已经有一段时间了,在这段时间里面学了很多新东西,感觉自己的鸡窝做得越来越好了。这里,写下一些小Tips,记录下自己感觉很有意思的东西。 一,还是分层的问题 在上下机加完模式后,总感觉很诡异,我的上下机是加完模式后的,第一次这么做,还有点儿生疏,看了半天,才发现我上下机的逻辑居然在U层,如图: 三个类定义在了U层:原创 2014-06-19 21:32:16 · 2118 阅读 · 64 评论