机房收费系统重构初期问题总结

进入五月份開始的三层架构的学习。那个时候,三层仅仅是理解了一些理论知识。还有在师父验收三层登陆实例的时候,仅仅知道三层是怎样建立起来的。

并且在验收的过程中,发现非常多逻辑性的错误。三层结束到机房重构,之间不知道停顿了多久。总之,真正開始重构的也就一个星期左右。

在三层结束之后,就要谋划机房重构的问题了。

可是,对于已经学习了非常多理论知识之后。发现,对于要開始重构机房一点思路都没有。不知道是先从哪里下手,文档?UML图?程序?这样的感觉真是……

查看tgb的培养计划。从让导师指导建模開始。

也就是先从绘图開始吧。

因为大脑不够用,也就边绘图。边实现吧。最早完毕的图。就是包图了。期间,也让师父指导过。也以前指出过。我在重构机房之间,须要了解一下SqlHelper,在重构的过程中,肯定会使用的。

也查过sqlHelper的用途,可是怎样使用,还是须要去实践的。以下说说遇到的几个问题吧。

数据库连接问题:

在開始进入该阶段開始学习的之后。花费时间长的地方---数据库。停顿时间较长的一部分。就是数据库的链接上,曾经都是通过sqlconnection sqlcommand
等 直接连接数据库的。并且在使用的过程中常常有SQL Injection的攻击。使得数据的安全性就没有了保障。所以開始使用Parameter进行參数查询。

可是仅仅有发现,有非常多使用sqlAdapater DataSet等也能够连接数据库,这里有非常多历史遗留问题,须要再次开发。

SqlHelper问题:

在只唯独一个登陆实例的情况下,的确是没有必要使用sqlHelper的。可是在一个系统其中。须要频繁的连接数据库。增删改查等操作。

对于美丽的代码。无非就是降低反复。在D层中,把跟数据库连接,运行sql语句有关的大量代码封装起来。这个类就叫做sqlHelper。

这个问题,乍一看“没问题,挺简单的”。

再一看“这玩意儿怎么写啊,好麻烦”。

再看“这就没啦,没多少东西啊”

然后。这个问题,就这么愉快的攻克了。

学习也就是这么个过程吧。

三层之间的数据传递问题:

沉浸大约一个星期的时间,满打满算我也就实现了三个界面。

開始之后,一直在研究三层之间数据的交换,期间传递过实体,用起来挺方便的。可是假设遇到非单一的数据之后,传递实体就出现故障了。之后開始传递dataTable,用起来要方便一些。

总的来说。開始做系统之后,代码的阅读量……不提了。相比于第一次机房收费系统来说,难度的确添加了不少。相比于面向过程的程序来说。面向对象的程序更加好看。代码量的大小。不能决定一个程序的好坏。要想降低代码的反复。去满足单一职责原则就能够实现。

对于还没有開始敲系统的时候。直接就设计出sqlHelper这样的事情。会丧失非常多。丧失学习的经历,出错的经验。

就拿上次学习的《大话设计模式》,为什么有那么多的人喜欢。那是由于每一个模式,都有一个背景故事。

所以在学习的时候。人们都能知道这个模式。为什么这么构造。

不要想着走捷径,仅仅有真正体会到写程序的反复,你才干真正体会到设计者的用意。码农是不可缺少的一个阶段。

时间: 2024-08-01 10:41:49

机房收费系统重构初期问题总结的相关文章

vb.net机房收费系统重构——总结(二)软件工程文档1

学软工时常常听到:这是我们迈向职业化的一步.软件工程文档在一个项目开发中必不可少,通过这次重构,将以前的软件工程,UML重新认识,梳理,实用了一遍有了更深刻的体会,我在机房重构中,一共编写了七个文档,分别是 1.项目开发计划 2.软件需求说明书 3.数据库设计说明书 4.概要设计说明书 5.详细设计说明书 6.机房收费系统测试计划 7.机房收费系统用户操作手册 在这里只讲一下项目开发文档中各种需要的图.表. (一)软件项目开发计划: 文档的目的不用说,在这里面最重要的两个内容:项目的人员分工,以

vb.net版机房收费系统重构

机房收费系统重构版终于正式开工了! 前几天,刚刚看完三层的视频,在视频中详细的讲解了一个登录功能.天真的我,当时以为三层结构是那么的简单,所以我草草地做完总结之后,就很快就开始机房收费系统的重构了.可是谁想到,当我一打开编程软件,就让我"碰了一鼻子的灰"!首先是不知道vs 怎么用,其次就是看三层的时候,登录的实例使用C#写的,而这次我们需要用VB.NET写,所以对于其中的语法是知之甚少.虽然,前段时间我看了一遍台湾讲师--曹祖胜的<VB.NET 视频>,但是他讲的几乎都是一

机房收费系统重构(六)—泛型集合

      机房收费系统重构仍在进行,但是在进行过程中,也许数据类型的转换是永远也避不开的,今天我就来讲讲关于数据类型转换的问题!       在个人版机房收费系统中,在DAL层中,如果是增删改,是不需要返回参数的,返回值是Boolean,但是在查询中,需要有返回值,而且返回的是Dateset类型,所以在这里问题就来了.      如果在返回值过程中一直返回的是表的类型,也许就没有那么多麻烦的事情了,但是dateset使得系统具有了强耦合性,但是如果返回的是实体类呢!关于这点我也查了查资料,为什

机房收费系统重构(三)

前段时间用简单的三层实现了窗体登录功能,心中有点小小的成就感,但是很快就被泼了凉水,机房收费不可能只用三层实现,如果你用三层,也就是说后面机房收费所有的功能都必须使用三层来实现功能.所以一周前始了七层的研究.经过一个星期的看博客,总结,调代码,终于实现了窗体登录,信息录入,和简单充值查询功能.   说说自己这次七层之旅的总结吧.   1.毋庸置疑,研究一个窗体功能,我首先判断的是需要用到数据库中的哪些表(这是属于我自己的编程习惯,不适用全部),然后再实体层中将表中的字段表示出来,有多少个表就有多

机房收费系统重构(五)—登陆窗口完整版

     在上上篇.<机房收费系统重构(3)>.中主要是介绍了自己关于DAL层,工厂层.以及接口层,还有实体层的理解.可是好多读者再问我.你的代码呢,我在这解释一下.就是我仅仅是写出关于那几部分的理解,并没有写贴出代码让大家研究的.可是不能顺应民心的文章不是好文章,所以我在这篇文章中,将机房收费登录中七层中全部的代码,贴出来供大家拍砖斧正.还有最后我在谈谈针对BLL层和外观层的理解.      首先我所说的七层是针对UI层,外观层,BLL层,DAL层,工厂层,实体层,接口层七层组成.    

机房收费系统重构——数据库设计

终于,走到了机房收费系统重构的阶段-- 之前的一遍机房收费系统的数据库是用的给的那个,只是把每个表都看了一下,当时也没有学习数据库原理那本书,然后就没有深究-- 现在不一样了,我们进行机房收费系统重构,况且学习了数据库原理这本书,对数据库有了更深的认识.所以对于数据库要好好的设计,按照步骤走-- 数据库技术是信息资源管理最有效地手段.数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求. 数据库的设计的步骤和各阶段的主要内容

机房收费系统重构(五)

     在上上篇,<机房收费系统重构(3)>,中主要是介绍了自己关于DAL层,工厂层,以及接口层,还有实体层的理解,但是好多读者再问我,你的代码呢,我在这解释一下,就是我只是写出关于那几部分的理解,并没有写贴出代码让大家研究的,但是不能顺应民心的文章不是好文章,所以我在这篇文章中,将机房收费登录中七层中所有的代码,贴出来供大家拍砖斧正,还有最后我在谈谈针对BLL层和外观层的理解.      首先我所说的七层是针对UI层,外观层,BLL层,DAL层,工厂层,实体层,接口层七层组成.      

vb.net版机房收费系统重构的成长历程(功能实现篇)

重构机房收费系统,功能是不变的,需求是不变的,系统背后的代码,架构发生了改变.做过vb6.0版的系统 后,利用VS的VB.NET平台, 通过调整程序架构,加入了设计模式,改善软件的质量.性能,提高软件的扩展性和维护性.相比旧版系统,新版系统主要亮点有: 亮点一:代码分层管理,清晰明了 亮点二:加入工厂和接口,代码复用较多,减少了重复或相似的代码. 亮点三:用到了存储过程.一方面减少了代码量,另一方面也相当于是一个事务的执行.比如注册或者结账需要同 时操作多张表,这几个表必须同时被操作成功后才可以

机房收费系统重构之设计

机房重构有两个星期了.还没有进入敲代码阶段.今天刚刚结束了UML图的设计.明天开始就要进入代码实现阶段了.在这期间学到了不少东西. 数据库设计 在设计数据库的时候简单的学会了使用Power Designer进行数据库建模.刚装上这个软件的时候,oh my god! 全是英文,又一次体会到了学会英语的重要性.英语不会,软件用起来你都费劲.经过无数次的有道翻译,终于学会了一些基本的使用. 起开始设计数据库的时候没有画E-R图,直接凭借自己上一次数据库设计记忆,就把数据库模型建出来了.师傅一看就不行啊