个人机房重构总结

原创 2014年07月03日 16:07:11

    个人版的机房重构花费了一个月的时间,也算是完成了。现在整理一下三层机房收费系统里面的小问题。对于使用三层架构的机房收费系统来说,数据库的设计是一个重点。但是三层架构的小实例也是经典。
 
为什么很多人在开始项目之后,都无从下手?
    因为三层的那个实例没有看懂(并不是没有实现)。三层架构的登陆实例,实现不是目的,我们就是要从这个实例中学习,三层的是如何划分,并且是如何调用的。
 
机房重构的准备工作:
    在学习完三层架构理论之后,紧接着的项目就是个人版机房收费系统。
    对于三层结构的登陆实例,如果可以理解的话,那么个人版就已经可以开始了。
 
   建议:
   1、三层架构的实例,一定要理解。
   2、包图,一定要自己切身体会实现过之后 经自己思考画出来。不可网上直接抄。
   3、个人版机房,至少有一个抽象工厂吧,那你为什么不在三层实例中就用一下呢。
 
数据库的设计:
   数据库的设计,主外键的约束,三范式。(一定要自己设计数据库)。对于之前第一遍机房使用的数据库,一定要抛弃,因为里面有太多冗余的地方了。
 
机房代码:
   你如果问,我开始做机房收费系统了。我是先画图,还是先实现代码。
   虽然是应该,先画图,后写代码。但是你一个刚刚接触三层的人来说,让你画图,你画的出来吗。即使你能画出来,你能保证顺利实现吗。
 
   1、刚刚接触三层的人,你总要去用代码来理一下自己的思路。至少你要每种操作敲一条线吧。之后再画图。
   2、代码的调试,错误。这是一种经验,逐语句调试,可以总结一些 错误 的根源。
   3、数据库助手类SqlHelper,不要等做完系统之后再加,在你实现的时候,你就不觉得D层里面有太多的重复吗。   当你敲重复代码的时候,你就要停下来思考一下了。
   4、在多张数据表的情况下,尝试使用视图。
   5、在实现功能,执行多个操作的时候,尝试使用存储过程、事务、触发器等。(ps:可以大量节省代码)
 
UI的设计
   UI的设计,也是一个重要的工作,千万不要局限于第一次机房的窗体界面。
   对于经常泡网吧的童鞋,类似的UI见识肯定很多吧,多多考虑下自己用的时候的感受,我相信,设计一个这玩意儿问题不大吧。
 
文档的编写
   你是不是以为,UML图已经画完整了,机房代码只需要按照图来实现不就的了嘛。那写文档有什么用啊。
   对于三层之间传递的参数,大部分都是传的实体。你知道U层传给B层的实体里面有哪些属性吗。码农实现起来也不轻松啊。
   所以,文档里面就要给出详细的过程吧。
 
关于datatable的使用
   在基本快完成个人重构的时候,突然开会说,禁止使用datatable。这一下子,可就爽歪歪了。回头看一下自己的代码,里面有不少使用的datatable,就连可以使用实体的地方,我都用了datatable。
   最初刚接触的时候,先用的实体、后用的datatable。之后我就纠结到底用哪个的时候,我看到了曙光。我就不告诉你,我是看九期他们系统里面都是datatable,我才使用的。
   不过仔细想想也对,datatable使用的范围很大。范围大的弊端就是,程序员在看到返回值datatable的时候,根本知道里面有哪些字段。这就不是面向对象的做法了。
 
   在重构机房的时候,交流学习的一大途径。很多实现,网上都能找到比较好的方法。
   个人重构,就是要形成一幅自己的编程风格,交流也是增强自己的编程技巧。一些错误,经历过之后,或许就会更加深刻。少年,先做吧。错了再改,你的收获肯定不小。

版权声明:本文为博主原创文章,未经博主允许不得转载。

【个人机房重构】——SqlHelper

一、SqlHelper 出场        不是因为大家都在用SqlHelper所以才用,是因为连接数据库关闭数据库查询数据库的多了也就加上了SqlHelper。当你的很多需求都有一个相同的方法的时...
  • u010164936
  • u010164936
  • 2014年08月08日 22:22
  • 849

【个人机房重构】—— 模版方法实现组合查询

背景:在机房收费系统中,有好多
  • u010164936
  • u010164936
  • 2014年08月26日 20:46
  • 1076

个人机房重构——存储过程

SQL server中的存储过程在刚刚接触数据库知识的时候,仅限于听说,通过这次机房重构,对SQL server的强大有了更加深刻的理解。存储过程的使用也极大地方便了我们在机房重构过程中对数据库中数据...
  • why15732625998
  • why15732625998
  • 2016年02月29日 12:31
  • 696

【机房重构】注册

机房重构开始有一断时间了,这个过程对于我来说并不容易,由开始的三层登录实现,到后来的七层登录实现,很多人说只要这条线通了以后就容易多了,但是通过这个过程对于我来说并没有那么容易,这个过程总会出现这样那...
  • u013046597
  • u013046597
  • 2015年04月24日 16:55
  • 1543

【个人机房重构】——泛型集合代替DataTable

用三层架构开发项目,经常会遇到如下场景:       D层负责与数据库交互,一般是得到DataTable或DataSet对象,然后返回给B层,B层进行类似的处理来读取数据:dt.Rows[0][...
  • u010164936
  • u010164936
  • 2014年08月14日 18:10
  • 1779

【个人机房重构】——限制字符串输入(正则表达式)

1、概述  在做机房收费系统的时候,几乎所有的窗体上都存在着文本框或者组合框,当用户进行操作的时候,首先要判断是否为空,然后再对各种属性进行判断,比如;卡号、学号、金额等只能输入数字,有些信...
  • u010164936
  • u010164936
  • 2014年09月14日 16:36
  • 885

【个人机房重构】——报表ReportViewer

前言:在机房个人重构的过程中,报表算是一个比较难弄的地方。之前做VB版机房收费系统用的报表是Grid++Report,这次VB.NET重构中用到了VisualStudio自带的报表控件。刚开始当然对这...
  • u010164936
  • u010164936
  • 2014年09月07日 17:57
  • 1232

【个人机房重构】策略模式在下机

策略模式是区别对待的典型, 它存在的意义就在于让系统对不同身份的“人”,给出相应不同的算法,比如商场购物, 高级会员7折,普通会员9折, 非会员客户原价,这种情况下给商场设计收银系统用策略模式就很实用...
  • srk950606
  • srk950606
  • 2016年04月02日 11:42
  • 810

个人机房重构之SqlHelper

在接触SqlHelper之前已经是久闻大名了。机房的重构师傅说先用三层的思想来做,等体会深了在加设计模式和其他的。前天搬着电脑让师傅看了看,指导了指导,然后说可以加一些东西了。我说加这个加那个?师傅说...
  • u010858791
  • u010858791
  • 2014年08月16日 18:11
  • 1006

个人机房重构——组合查询及优化

个人机房重构逐渐接近尾声,就遇到了组合查询,本来组合查询并不是一个很难的问题。但是,整个机房重构的过程中,我们要利用组合查询完成学生基本信息维护、学生上机统计信息查询、操作员工作记录、学生上机状态查询...
  • why15732625998
  • why15732625998
  • 2016年02月27日 21:49
  • 994
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:个人机房重构总结
举报原因:
原因补充:

(最多只允许输入30个字)