知识点在七层的时候就已经体现了,但是为了对知识的了解更加的深刻,把这部分知识单独拿出来分析一下。
配置文件就是在Factory层中用到的,就是反射+配置文件
配置文件写下UI层的app.config中
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<!--添加配置文件,用appSettings -->
<appSettings>
<add key ="DB " value ="DAL"/>
<add key="strConnection" value="Server=gao;Database=Charge;User ID=sa;Password=123456" />
</appSettings>
<!--添加配置文件,数据连接的代码用 connectionStrings-->
<connectionStrings>
<add name ="strConnection" connectionString ="Server=gao;Database=Charge;User ID=sa;Password=123456" />
</connectionStrings>
</configuration>
使用配置文件中的
<!--添加配置文件,用appSettings -->
<appSettings>
<add key ="DB " value ="DAL"/>
</appSettings>
使用上述代码的是factory层中的StrDB变量值
Imports System.Reflection
Public Class LoginFactory
'配置文件中的名称。定义变量给变量赋值
Dim strDB As String = System.Configuration.ConfigurationManager.AppSettings("DB") '使用AppSettings属性 表示读该配置文件
Public Function CreateIUser() As IDAL.ILoginIDAL '写一个方法可以在BLL层调用这个方法
'要实例化的DAL层的名称
Dim classname As String = strDB + "." + "LoginDAL" '定义变量给变量赋值 变量StrDB+"."+DAL层写Class的名
Dim IAdmin As IDAL.ILoginIDAL '反射的关键代码(返回接口)
'CType函数将返回表达式显示的转换为指定的数据类型、对象、结构、类或接口后的结果
IAdmin = CType(Assembly.Load(strDB).CreateInstance(classname), IDAL.ILoginIDAL) '返回LoginIUserInfo
Return IAdmin '返回参数
End Function
End Class
在SQLhelper中链接数据库用到的配置文件内容是 之间的在SQLHelper中使用如下代码。
<appSettings>
<add key="strConnection" value="Server=gao;Database=Charge;User ID=sa;Password=123456" />
</appSettings>
SQLHelper层
Public Class SqlHelper
'获得数据库连接字符串
Private ReadOnly strConnection As String = ConfigurationManager.AppSettings("strConnection")
'设置连接
Dim conn As SqlConnection = New SqlConnection(strConnection)
End Class
或者使用 之间的配置文件,SQLHelper如下使用。
<!--添加配置文件,将数据连接的代码用到配置文件中-->
<connectionStrings>
<add name ="strConnection" connectionString ="Server=gao;Database=Charge;User ID=sa;Password=123456" />
</connectionStrings>
SQLHelper层
Public Class SqlHelper
'获得数据库连接字符串
Private ReadOnly strConnection As String = ConfigurationManager.ConnectionStrings("strConnection").ConnectionString
'设置连接
Dim conn As SqlConnection = New SqlConnection(strConnection)
End Class