--------【机房收费系统重构】
文章平均质量分 75
jimmyBay
这个作者很懒,什么都没留下…
展开
-
ADO,ADODB,ADODC
学生管理系统敲完以后,发现自己对模块中ADODB理解有些混乱。查阅一些相关资料后,简单总结一下。 1 ADO(ActiveX Data Object),数据库访问组件,可在编码器vb,vc,c++中使用,可在代码中使用ADO进行对数据库的操作,同样可对不 同类型数据源进行访问。ADO分为两种:ADODB,ADODC. 2 ADODB(Activ原创 2014-08-02 10:58:55 · 1985 阅读 · 15 评论 -
机房收费系统(个人重构)——外观模式
说到外观模式,更是在个人重构中设计到的外观模式,我和好多人交流过这个问题,起初我是这么任性的认为:外观模式就是传递参数的,解耦B层和U层的关联。以至于刚开始我还和师傅就此问题而讨论,回来又看设计模式,还是不大懂外观到底起什么作用?直到最近敲上下机,才决然发现,自己理解的偏差。 先回忆一下外观模式在设计模式中介绍: 外观模式(Façade),为子系统中的一组接口提供一个一致的界面原创 2015-03-14 19:57:11 · 1194 阅读 · 28 评论 -
个人重构——职责链模式
疑问1:在重构的过程中,我是无意中浏览到别人博客才知道职责链模式在重构中的应用,之前在敲的过程中怎么没有想起?而别人怎么就能想到此模式的应用? 引入正题:在机房下机的过程中,其中有一个计算消费时间的过程,按照之前的版本系统,是利用一系列的判断语句来计算,其实不然,加入职责链模式来解决此问题。 职责链模式(加薪非要老总批?):使多个对象都有机会处理请求,从而避免请求的发送者和原创 2015-04-07 18:23:33 · 1180 阅读 · 26 评论 -
机房收费系统(个人重构)——存储过程
(本篇博客的真正目的不在知识的共享,而是记录当时问题的遗漏,以及此时关于这些问题的想法。) 存储过程:一组为完成特定功能的sql语句集,用户通过制定存储过程的名字并给出参数(若该存储过程带有参数)来执行它。知名其意,sql语句集:一系列的sql语句组成的集合,也就是说,当我们有一系列的sql语句要写时(即对多张表操作时)就可以考虑存储过程了,然后直接调用存储过程名字即可。但是我下原创 2015-03-22 15:34:20 · 1082 阅读 · 33 评论 -
学生管理系统之完善
背景:学生管理系统中,在添加学籍信息时,有个出生日期及入校日期,代码很复杂,因为其规定日期的各种格式,这样才能与数据库信息相匹配的。可是,我们都知道系统的研发是给客户用的,而客户又怎么能知道这个日期该怎么怎么填写,所以“全心全意为人民服务”这一点就缺乏好多。灵感源于生活,在我们学校的教务系统中你就可以收获到很多。所以我有用到以上两个控件。原创 2014-07-29 10:42:49 · 1907 阅读 · 15 评论 -
机房收费系统之结账
1· 往表里添加一列alter table checkday_info add serial numeric(18, 0)添加标识列:不允许有空值,且在属性中“是否标示”选择是,就ok了格式:alter table 表名 add 列 类型2· 加一行数据:insert into 表名 values(数据1,数据2,。。。)3·选取数据库表中最后一行数据s原创 2014-09-02 17:44:43 · 1180 阅读 · 9 评论 -
机房收费系统文档简单分析
前言:首先我们要有重视文档的一个意识。其次,在我们第一次接触文档时,避免不了枯燥,乏味,为什么会这样?从我自身分析:根本不知道写什么,在相应的文档里到底哪里是重中之重,哪些可以略写,所以,在写了一部分以后我选择重新整体分析一下。(可能我的宏观也不是做的很好,但我相信我会做的越来越好。)1·可行性分析: 做为开发小组的领导,当接受一项系统开发的任务,我有必要向老板汇报一下:这个任务交原创 2014-10-27 12:19:32 · 1615 阅读 · 14 评论 -
七层连连串
在个人重构之前,在三层学习之后,加入七层的跨越连接,整体感觉还是不错的。先看一下包图:其实在七层敲完后才感觉一目了然,当然这里我加入了SqlHelper类,所以,称之为八层也是可以理解的。 包图,看着过于简陋,我用下面一张图,来说明我对七层的理解。用这样一段话来描述这幅图:U层:接受用户传来的数据,传给外观,再由外观传递给B层判断用户的实际性。而在B层逻辑判断的过原创 2015-02-03 18:52:17 · 1493 阅读 · 17 评论 -
机房个人重构——之DataGridview控件
1·选中行操作:selectionMode属性DataGridViewSelectionMode.ColumnHeaderSelect' 单击列头就可以选择整列DataGridViewSelectionMode.FullColumnSelect '单击列头或列中的单元格就可以选择整列DataGridViewSelectionMode.FullRowSelect '单击行头或行中的单元格就可原创 2015-02-15 14:56:58 · 1453 阅读 · 14 评论 -
个人重构——配置文件
<configuration>:就是代表配置文件。其中的第二部分<connectionStrings>:代表数据库连接装置。第三部分<appSettings>代表的是根据<connectionStrings>中设置的数据库,添加相应的类赋值给参数。原创 2015-03-29 16:10:28 · 1192 阅读 · 25 评论 -
机房收费系统之——视图
机房收费系统的个人重构版已经进行差不多一半多了,没有太大的磕磕绊绊,所以总感觉自己是不是哪个地方理解的还是不到位,也所以一直写不出经过自己理解后的总结博客,某一天的下午在五楼无意中听到师姐给徒弟验收机房,就多听了几句,这才发现自己一直过得太“安逸”了,就像米老师说的,人不能过得太安逸,否则会出问题的,真的是这样,废话不多说了,下面简单介绍下机房中引入的视图。初次接触视图,是在自考的数据库系统原原创 2015-03-08 15:18:21 · 1520 阅读 · 23 评论 -
未处理SqlException,关键字‘User’附近有语法错误
在做三层登录的例子中,碰到一个很棘手的问题,问题显示如上,刚开始看到这个问题,第一反应:数据库连接有问题?或者是sql语句有问题?现在就开始逐一排除掉所有的可能。首先数据库的连接我确保代码没有错误,其次数据库那边也都正常,所以,排除掉;接下来,第二种情况(可真是让我将近郁闷一天):sql语句:我代码中是这样的:cmd.CommandText = "SELECT * FROM User WHERE原创 2015-01-26 17:31:25 · 4480 阅读 · 24 评论 -
实体传递(三层)
【1】为什么要用传递实体? 在面向对象的方式编程时,我们的目的就是要使整个业务逻辑变得清晰,以及整洁的代码,这样方可达到大规模的合作。就比如说update一个类,对应数据库100个字段,我们不可能通过传递参数那样把100个字段一一传入,唯一可取的方法便是传递实体,通过传递一个实体,来更新实体中的每一个字段。【2】实体传递的过程(以代码为例) 在敲三原创 2015-01-28 20:28:42 · 1775 阅读 · 23 评论 -
个人重构——抽象工厂+反射+配置文件
刚起步机房时,不知道怎么加入的抽象工厂,反射,配置文件等这些东西,当时只是在七层的理解上稍微有些思路,这是当时的博客《七层连连串》,回头看自己的博客时 ,感觉当时理解的还是比较深刻的,可是我想问自己,当初是怎么想到抽象工厂的?只是在“模仿”巨人吗?当个人重构雏形已出,现在有必要重新认识一下抽象工厂,反射,配置文件。抽象工厂模式的出现就是与具体数据库访问解除了依赖,就是说对具体的数据库(原创 2015-03-29 14:53:56 · 1315 阅读 · 31 评论 -
个人重构——职责链模式PK状态模式
背景:在上一篇博客《个人重构——职责链模式》中就对重构中用到的模式进行总结,可是在前两天的师父验收系统中,当让我自己对职责链模式描述时,师父竟说,听着怎么跟状态模式类似啊!于是,才有了这篇博客的诞生。 1·自我理解:职责链模式:一个事物的所处状态依靠另外一系列的事物处理后返回的结果。状态模式:一个事物本身的行为根据状态变化而变化。共同点:减少使用复杂的条件逻辑判断,吧原创 2015-04-13 10:20:12 · 1189 阅读 · 24 评论 -
机房收费系统之分析
机房收费系统基本结束后回头分析,其实发现只要思路清晰,整体难度不太高。所以,在这里,我想整体分析分析这个系统。 上过网吧的人都比较了解收费这方面的,像我就是做完机房收费系统后才明白,其实机房收费系统就是网吧收费情况,在网吧,有个老板,主要任务我们都知道:挣钱,老板就是所谓的管理员,然后他总得找个网管来替他干活吧,这就涉及到操作员的问题,根据权限分配。 操作员和老板即原创 2014-09-08 19:53:00 · 1330 阅读 · 12 评论