Java抽象工厂模式 抽象工厂模式( 二 )


'调用抽象工厂实例化数据表
Dim dataAccess As New DataAccess
iUser = dataAccess.CreateUser
'调用数据接口层的函数查询是否存在用户
dsSelect = iUser.QueryUser(userInfo)
If Not dsSelect.Tables(0).Rows.Count = 0 Then
intAdd = 0'用户名已经存在 , 不能重复注册
Return intAdd
Exit Function
Else
' 用户名不存在 , 可以添加
btnAdd = iUser.AddUser(userInfo)
If btnAdd = True Then
intAdd = 1'添加成功
Else
intAdd = 2'出现故障
End If
Return intAdd
End If
End Function
抽象工厂类代码:
'******类名:DataAccess
'******创建人:Jesse
'******创建时间:2012年5月4日
'******说明:用抽象工厂实现数据接口层 , 用到反射+配置文件
Option Explicit On
【Java抽象工厂模式 抽象工厂模式】Option Strict On
Imports IDAL
Imports System.Reflection'引入反射
Imports System.Configuration'引入配置文件管理
''' summary
''' 简单工厂优化的抽象工厂方法
''' /summary
''' remarks/remarks
Public Class DataAccess
Private Shared ReadOnly AssemblyName As String = "DAL"'数据程序集名称
Private Shared ReadOnly db As String = ConfigurationManager.AppSettings("DB")'读取配置文件
''' summary
''' 实例产生User表
''' /summary
''' returnsUser表/returns
''' remarks/remarks
Public Function CreateUser() As IDAL.IUser
Dim ClassName As String = "DAL" + "." + db + "User"'要实例化的类名
Dim User As IUser'定义接口
User = CType(Assembly.Load(AssemblyName).CreateInstance(ClassName), IUser)'反射实例化
Return User
End Function
''' summary
''' 实例用户基本信息表
''' /summary
''' returns基本信息表/returns
''' remarks/remarks
Public Function CreateStudentInfo() As IStudentInfo
Dim ClassName As String = "DAL" + "." + db + "StudentInfo"
Dim StudentInfo As IStudentInfo
StudentInfo = CType(Assembly.Load(AssemblyName).CreateInstance(ClassName), IStudentInfo)'反射实例化
Return StudentInfo
End Function
''' summary
''' 实例充值表
''' /summary
''' returns充值表/returns
''' remarks/remarks
Public Function CreateRecharge() As IRecharge
Dim ClassName As String = "DAL" + "." + db + "Recharge"
Dim Recharge As IRecharge
Recharge = CType(Assembly.Load(AssemblyName).CreateInstance(ClassName), IRecharge) '反射实例化
Return Recharge
End Function
''' summary
''' 实例化退卡信息表
''' /summary
''' returns退卡信息表/returns
''' remarks/remarks
Public Function CreateCancelCard() As ICancelCard
Dim ClassName As String = "DAL" + "." + db + "CancelCard"
Dim CancelCard As ICancelCard
CancelCard = CType(Assembly.Load(AssemblyName).CreateInstance(ClassName), ICancelCard)'反射实例化
Return CancelCard
End Function
''' summary
''' 实例化上机记录表
''' /summary
''' returns上机记录表/returns
''' remarks/remarks
Public Function CreateOnlineRcd() As IOnlineRcd
Dim ClassName As String = "DAL" + "." + db + "OnlineRcd"
Dim OnlineRcd As IOnlineRcd
OnlineRcd = CType(Assembly.Load(AssemblyName).CreateInstance(ClassName), IOnlineRcd)'反射实例化
Return OnlineRcd
End Function
''' summary
''' 实例化基本数据设定
''' /summary
''' returns基本数据设定/returns
''' remarks/remarks
Public Function CreateBasicData() As IDAL.IBasicData
Dim ClassName As String = "DAL" + "." + db + "BasicData"
Dim BasicData As IBasicData
BasicData = https://www.doubo5.com/CType(Assembly.Load(AssemblyName).CreateInstance(ClassName), IBasicData)'反射实例化
Return BasicData
End Function
''' summary
''' 工作记录表
''' /summary
''' returns工作记录表/returns
''' remarks/remarks
Public Function CreateWorklog() As IDAL.IWorklog
Dim ClassName As String = "DAL" + "." + db + "Worklog"
Dim Worklog As IWorklog
Worklog = CType(Assembly.Load(AssemblyName).CreateInstance(ClassName), IWorklog)'反射实例化
Return Worklog
End Function
''' summary
''' 日结账单表
''' /summary
''' returns/returns
''' remarks/remarks
Public Function CreateBillOfDay() As IBillOfDay
Dim ClassName As String = "DAL" + "." + db + "BillOfDay"
Dim BillOfDay As IBillOfDay
BillOfDay = CType(Assembly.Load(AssemblyName).CreateInstance(ClassName), IBillOfDay)'反射实例化
Return BillOfDay
End Function
End Class
IDAL层IUser:
'******类名:IUser

秒懂生活扩展阅读