三层架构——配置文件

1、配置文件是什么?

    配置文件是随安装程序一起被安装到计算机上的文件,里面存放着安装好的应用程序执行时所须要的參数。

    应用程序配置文件是标准的XML文件,XML标记和属性是区分大写和小写的。它能够按须要更改,开发者可使用配置文件来更改设置,而不必又一次编译应用程序。配置文件的根节点是 configuration。我们经经常使用的是appSettings,它是由.NET提前定义配置节点。

2、怎样加入?

   配置文件要加入在界面层,即U层。

   右击项目名称,选择加入——新建项——常规——应用程序配置文件。如图:



3、怎样编写

常见的配置文件模式:

configuration

configSections :配置节声明区域,包含配置节和命名空间声明

section:配置节声明

sectionGroup:定义配置节组

section:配置节组中的配置节声明

appSettings:提前定义配置节


3.1一个简单的仅仅有appSettings节的配置文件的样例

<?xml version="1.0" encoding="utf-8" ?> 
<configuration>
   <appSettings>
       <add key="DB" value="Sqlserver"/>
   </appSettings>
</configuration>

3.2复杂一点的自己定义配置文件的样例:

用户自己定义的配置节中,包括声明配置节和设置配置节两部分,就像变量一样,先声明后使用。


4、怎样使用?

以三层登录为例,首先加入引用System.Configuration


再在命名空间中声明



编写app.config文件


       加入的两个key,”ConnStr“是连接数据库的字符串,“DBString”是通过反射来产生不同数据库的DAL层的(当中凝视掉的部分也是连接数据库的字符串)。

       因此,它们要与代码中的名称一致。


Factory类:



DAL层:



       这样,配置文件就算完毕了。我们能够打开配置文件,改动里面的參数,从而达到不须要改动代码就能够达到某种目的的效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随便说说最近项目中的三层架构吧。讲点实际的东西。我最讨厌空讲道理。网上讲道理的太多了,不喜欢举例子。 大多数文章中都或多或少的讲到了三层架构。表示层,业务层,数据层。又把业务层再细分,分为外观服务层,主业务服务,及数据库库服务层。 今天主要讨论一下业务层吧。举个最简单的例子。客户端获取数据。 业务层要与表示层尽量解藕, 我的方法是:首先我们在中间层TLB_中定义一个接口 IBusinessService, 定义一个方法。getvoList,我要得到一个VO的列表, VO即ValueObject, 例如:TValueObject= class(TPersistent) private b_insertFlag :Boolean; b_updateFlag :Boolean; b_deleteFlag :Boolean; d_rowVersion :double; procedure setInsertFlag(pInsertFlag :Boolean); function getInsertFlag: Boolean; procedure setUpdateFlag(pUpdateFlag :Boolean); function getUpdateFlag: Boolean; procedure setDeleteFlag(pDeleteFlag :Boolean); function getDeleteFlag: Boolean; procedure setRowVersion(pRowVersion :double); function getRowVersion:double; protected function GetOLEData: OleVariant; virtual; procedure SetOLEData(const Value: OleVariant); virtual; published property bInsertFlag: Boolean read getInsertFlag write setInsertFlag; property bUpdateFlag: Boolean read getUpdateFlag write setUpdateFlag; property bDeleteFlag: Boolean read getDeleteFlag write setDeleteFlag; property dRowVersion: double read getRowVersion write setRowVersion; property POLEData:OleVariant read GetOLEData write SetOLEData; end;TUserVO = class(TValueObject) private id: string; name: string; password: string; 。。。。。。。。。。 VO的列表:TValueObjectList = Class(TObjectList) private ValueObject: TValueObject; ClassName: TClass; procedure setClassName(pTmpClsName :TClass); function getClassName: TClass; procedure setValueObject(pTmpVO :TValueObject); function getValueObject: TValueObject; protected function GetOLEData: OleVariant; virtual; procedure SetOLEData(const Value: OleVariant); virtual; published function AddItem(index: integer; AObject: TObject ):Integer; virtual; function GetItem(index, itemid: integer ): TObject; virtual; function CountItem:Integer; virtual; public constructor Create; virtual; destructor Destroy; override; procedure AfterConstruction; override; property PClassName: TClass read getClassName write setClassName; property POLEData: Ole
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值