反射+配置文件--机房重构

知识点在七层的时候就已经体现了,但是为了对知识的了解更加的深刻,把这部分知识单独拿出来分析一下。
 
配置文件就是在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  

猜你喜欢

转载自blog.csdn.net/m18330808841/article/details/80546714