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

学习设计模式的时候,提到了一个专门访问数据库的模式-抽象工厂模式,记得当时举例子理解的时候并未设计到数据库,只是大概了了解了一下,现在对于机房收费系统涉及到了数据库的管理,借此机会好好学习一下。用经常说的一句经典的话语则是:欠的债总是要还的,这句话同时也警告自己对于学习要一心一意,切勿粗心大意。

      欢迎访问自己对于工厂三姐妹的理解

对比可以知道,对于抽象工厂模式的初步理解,则是

重构机房收费系统,对于数据库的选择方法则是在D层建立一个单独的类,来连接字符串。而在此使用工厂层,其主要作用就是应用配置文件和反射技术实现数据库的更换功能。

在Factory中首先定义程序集的名字和命名空间的名字,将程序集的名字和命名空间的的值写在配置文件中,这样当执行到Factory函数时程序会自动通过读取配饰文件中的相应字符,按照路径实例化出相应的对象。

对于配置文件的配置如下:

   

以上是最为简单的应用程序配置文件的例子,在appSettings中添加自己所用的参数就可。记住不要忘记引用程序集中的 System.configuration.

其次在程序开头增加:

代码实现:

使用ConfigurationManager的静态属性AppSettings就可以直接访问配置文件中的配置信息

Dim sqlConnection as string=ConfigurationManager.AppSettings("strConnection")     '对sqlConnection赋值

factory中的代码:

  1. '******************************** 
  2. '说明:应用配置文件和反射技术实现数据库的更换功能 
  3. '作者:霍亚静 
  4. '小组:XX 
  5. '创建日期:2014/6/14 19:44:35 
  6. '版本号:V1.00 
  7. '******************************** 
  8. Imports System.Configuration  '添加对配置文件的使用 
  9. Imports System.Reflection  '添加对反射的引用 
  10. Imports IDAL 
  11. Public Class DataAccess 
  12.     Private strassembly As String   '程序集名 
  13.  
  14.     '''<summary> 
  15.     '''构造函数,通过调用配置文件为Strassembly赋初值  
  16.     '''</summary> 
  17.     Sub New() 
  18.         Me.strassembly = ConfigurationManager.appSettings("<span style="color:#ff0000;">Charge1</span>") & "DAL"    'Charge1为自己的数据库名字 
  19.     End Sub 
  20.  
  21.     '''<summary> 
  22.     ''' 实例化接口为IUser为UserDAL 
  23.     '''</summary> 
  24.     ''' <returns>IUser</returns> 
  25.     Public Function CreateUserDAL() As IUser 
  26.         Dim strIntance As String = strassembly & "." & "UserDAL"   '所要实例的对象(程序集与命名空间同名) 
  27.  
  28.         Return CType(Assembly.Load(strassembly).CreateInstance(strIntance), IUser)   '返回IUser ,Iuser为DAL的接口   
  29.     End Function 
  30.      
  31. End Class 
'********************************
'说明:应用配置文件和反射技术实现数据库的更换功能
'作者:霍亚静
'小组:XX
'创建日期:2014/6/14 19:44:35
'版本号:V1.00
'********************************
Imports System.Configuration  '添加对配置文件的使用
Imports System.Reflection  '添加对反射的引用
Imports IDAL
Public Class DataAccess
    Private strassembly As String   '程序集名

    '''<summary>
    '''构造函数,通过调用配置文件为Strassembly赋初值 
    '''</summary>
    Sub New()
        Me.strassembly = ConfigurationManager.appSettings("<span style="color:#ff0000;">Charge1</span>") & "DAL"    'Charge1为自己的数据库名字
    End Sub

    '''<summary>
    ''' 实例化接口为IUser为UserDAL
    '''</summary>
    ''' <returns>IUser</returns>
    Public Function CreateUserDAL() As IUser
        Dim strIntance As String = strassembly & "." & "UserDAL"   '所要实例的对象(程序集与命名空间同名)

        Return CType(Assembly.Load(strassembly).CreateInstance(strIntance), IUser)   '返回IUser ,Iuser为DAL的接口  
    End Function
    
End Class

对于配置文件的使用相信我们在学习的过程中会应用的更加熟练,继续磨练中……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值