【VB.Net机房重构】--简述配置文件

机房收费系统的重构中,看到许多资料关于反射+配置文件,自己也不知道是啥,怎么用,为什么用,但是很多前辈们都走过了,有了这个东西,自己当然也要尝试一下,然后经过查询以及讨论之后,对各方的知识进行汇总和整理加上自己的一点理解,留下来这篇博文。

1.是什么,能干什么?

配置文件是标准的 XML 文件,XML 标记和属性区分大小写。随安装程序一起被安装到计算机上的文件,里面存放着安装好的应用程序运行时所需要的参数,它可以按需要更改参数,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。配置文件的根节点是configuration。

2.好处?

定义往往是比较枯燥的东西,任何一个定义看起来都比较费劲,当时当我们从其他的方面理解了之后,在回头看定义就会感觉人家说的很好,是这么回事;我们看一下他的好处,应该对理解配置文件会有帮助。机房收费系统我们需要连接数据库,如果我们把数据库连接字符添加到配置文件中,指定一个变量表示这个字符,那么在程序中使用的时候,我们使用的就是这个变量名,当改变配置文件字符的时候,系统中所有的内容也就改变了。就像常量一样,const
double PI =3.14.程序中所有的PI用的都是3.14这个值,如果要修改程序中所有PI的值,只需要在定义出修改就行。增加了系统的健壮性。

在机房中同样通过配置文件,修改系统对应的数据库。把配置文件中SQL Server的数据库字符改为Access数据库,那么系统中,分别编写了操作两种数据库的代码。那么程序就可以在两个数据间很方便的更换使用。

3.应该添加到哪里?

程序中7层每一层都有配置文件,那么应该在哪里里面添加呢?刚开始看到前辈们都填到了UI层,为什么呢?自己的理解是,因为UI层是整个程序的启动项,最先执行,然后它的配置文件会被编译,后面系统中用到配置文件内容的时候,才能被使用。有人是这么说的:配置文件需要添加到主程序集中(也就是最初新建工程的时候生成的窗体应用程序或者其他应用程序)。编译后会和应用程序(.exe文件)生成在同一目录下。如果编译后发现程序主目录中没有XXX.exe.config文件,那么你很有可能没有添加对地方。

4.代码的格式?注释的格式?

那么这里打开U层的配置文件app.config,在里面添加需要的内容。如果UI没有配置文件的话,那么在U层上右击->添加->左侧常用项中选择常规->然后点击应用程序配置文件->文件的后缀是.config格式;

<pre name="code" class="html"><?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>

	<!--注释:添加配置文件,可以用appSettings 和 connectionStrings两种--><pre name="code" class="html" style="font-size: 16px; line-height: 24px;">	<!--注释:更改value的内容,可以选择与系统操作的数据库类型-->

<appSettings><add key ="DB " value ="SqlServer"/></appSettings><!--注释:数据库连接字符添加到配置文件中,使用的时候用ConnString就行,不用再在程序中赋值--><connectionStrings><add name ="connString" connectionString ="server=.;database=jifang_sys;user id=sa;password=123456"/></connectionStrings></configuration>



5.使用

1.添加引用

需要使用配置文件的层,要添加引用;该层上右击->添加引用;

2.使用配置文件

在程序中数据库连接字符使用;

例如:

     Dim connString As String = ConfigurationManager.AppSettings("connString")

总结:

配置文件的好处还是要在系统的不断实现中继续去感受,目前能够体会到的就是在数据库连接字符上和数据库的更换上,实际上用了配置文件,已经单单在这两方面给我们省去很大的工作量。其它情况,具体遇到具体解决。

时间: 2024-12-13 05:58:58

【VB.Net机房重构】--简述配置文件的相关文章

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

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

机房重构 抽象工厂+反射+配置文件

重构机房已经开始三个多星期了,从刚开始的一头雾水,到现在的柳暗花明,由开始的无从下手,到现在感觉犹 如脱胎换骨了般.和两个星期前相比,现在明朗了多了,心情也好了不少. 先给大家看一下这次重构的整体架构图: 在前面一篇博文中对三层(UI.BLL.DAL.Entity)http://blog.csdn.net/zhangzijiejiayou/article/details/38226135做了详细的介绍. 本篇博客着重总结一下在三层的基础上我所做的改进,也就是传说中的七层. 1.Facade层(外

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

(四)概要设计说明书 数据库搭建完成后就要设计概要系统,首先第一必不可少的是系统模块图. 在这里,很多同学都把模块图理解成了包图,其实这两者有差异.以我们正在做的ITOO为例,分为基础部分,评教部分,考试部分等五个部分,这就是五个大的模块.每个模块再进行细分. 而在机房收费系统中,可以简单的分为三大模块,即一般用户,操作员,管理员.每种级别用户操作目的和职能不同,所有又可以细分模块. 系统总体设计的主要任务就是确定软件的总体结构,确定模块间传送的数据及控制关系,尽量的做到解耦. (五)详细设计说

机房重构---我们“重构”出了什么?

机房重构立即就要结束了,在这"第三个"系统结束的时候,有必要思考一下我们重构的目的了. 或许有人说,还有什么目的呀,不就是编程语言换成了.Net,做出来,调完bug,能执行就得了呗.这么浮夸的日子里,还叫什么劲啊? 对于有这样的想法的人,我必须道一声:您(白)辛苦了 ! 不管做什么事,没有一点总结性思考是无法进步的. 我以下的一些重构论述或者说反思性总结也存在很多不足,希望大家多多指正,在此先致谢! 本文将从五个方面论述一下这次的重构系统,各自是系统架构.UML图指导.设计模式应用.数

机房重构之充值

最近机房重构一直在路上,心态已经从刚开始的无从下手到现在的照着葫芦画瓢.无论是三层还是七层,基本的思路都是一样的.最先最先的是写实体层,然后先写接口层的方法,然后就是D层去实现接口层的方法,接着就是工厂,B层,接着或者是外观层,然后是U层.由于我刚刚开始是按照一个窗体一个类来写的,并不是按照数据库中的表来写的,所以越来越觉得外观层没有用,毕竟B层就一个或者是俩个方法,敲着敲着就不写外观层啦. 我们在第一次VB版的机房时候已经知道了业务逻辑啦,知道了这些窗体先执行什么,后执行什么.拿充值窗体为例,

VB.NET机房收费 &amp; 抽象工厂模式

学习设计模式的时候,提到了一个专门访问数据库的模式-抽象工厂模式,记得当时举例子理解的时候并未设计到数据库,只是大概了了解了一下,现在对于机房收费系统涉及到了数据库的管理,借此机会好好学习一下.用经常说的一句经典的话语则是:欠的债总是要还的,这句话同时也警告自己对于学习要一心一意,切勿粗心大意.       欢迎访问自己对于工厂三姐妹的理解 对比可以知道,对于抽象工厂模式的初步理解,则是 重构机房收费系统,对于数据库的选择方法则是在D层建立一个单独的类,来连接字符串.而在此使用工厂层,其主要作用

机房重构-完结篇

机房重构已经结束了,自从软考开始,光顾着准备软考和三级网络等级考试就没来得急总结.软考一开始,突然觉得时间好少,时间过得好快.这节奏,有点飕飕的. ---------------------技术总结: 熟悉了对Visual Studio这一开发环境的使用,深入了解了VB.net语言基础有了一定的认识并且学会使用.这一次使用三层架构,利用分分层的思想,深入理解了各层的职责.代码规范,这一次再敲代码的时候先学了一下代码规范,也把头文件注释设计好,让自己的代码漂亮一点. 最终的要思想还是面向对象,根据

机房重构前奏——三层转七层

刚敲完三层的小例子之后,感觉还是很简单的,只是通过分层让不同的层次完成不同的工作,减少耦合性.可是接下来师父就直接给了一个大难题,让我将三层转变为七层,这对我来说相当困难,自己当时根本就不知道有哪几层,就开始搜.经过一段时间的思考后,终于能够初步明白登录的七层是那些了.下面是我画的包图: 三层的时候只有UI.BLL.DAL,七层只是在原来基础上添加了外观设计模式.接口和抽象工厂,通过分层来减小耦合度.接下来如何来实现各层之间的链接呢? U层:表示层,主要负责与界面设置. Imports Faca

【C#】万事开头难(二)&amp;lt;机房重构&amp;gt;

前言 机房将要进行完了,之所以仍然使用这个题目,是由于我想告诉自己.无论面对多么未知的事物.不要害怕,去做就好.在这么多天的机房重构中,发现了好多问题,也攻克了好多问题,今天,就把我解决的问题分享给大家. 充值中的分行显示 在充值和退卡功能窗口中,我们会将一些信息分行显示到lablebox中,那么这个分行是怎么做到的呢? lblDetail.Text = "充值卡号: " + txtCardNo.Text.Trim() + System.Environment.NewLine+&quo