当前位置: 代码迷 >> VB >> vb.net机房收费系一致个小功能的实现
  详细解决方案

vb.net机房收费系一致个小功能的实现

热度:10164   发布时间:2013-02-26 00:00:00.0
vb.net机房收费系统一个小功能的实现

       


经过不懈的努力,和不断地完善,今天终于将一个简单的功能利用上次画的包图实现了,让我对三层和设计模式有了一点新的理解

代码:


'/************************************************* '作者:许恕'小组:  '说明:上机窗体的编码'创建日期:2013年1月30日'版本号:1.0.0'**********************************************/'上机窗体Public Class FrmOnLine    '上机    Private Sub ButOnLine_Click(sender As Object, e As EventArgs) Handles ButOnLine.Click        Dim card As New Model.CardModel        Dim lineFacade As New Facade.LineFacade        card.Card_Id = TxtCardId.Text        card.Card_PassWord = TxtPassWord.Text        If lineFacade.Online(card) Then            MsgBox("登陆成功!")        End If    End SubEnd Class'/************************************************* '作者:许恕'小组:  '说明:实体层卡的的编码'创建日期:2013年1月30日'版本号:1.0.0'**********************************************/Public Class CardModel    Private cardId As Integer    Private password As String    Private level As String    Private balance As String    '卡号的读取    Public Property Card_Id As Integer        Get            Return cardId        End Get        Set(value As Integer)            cardId = value        End Set    End Property    '密码的读取    Public Property Card_PassWord As String        Get            Return password        End Get        Set(value As String)            password = value        End Set    End Property    '级别的读取    Public Property Card_Level As String        Get            Return level        End Get        Set(value As String)            level = value        End Set    End Property    '余额的读取    Public Property Card_Balance As String        Get            Return balance        End Get        Set(value As String)            balance = value        End Set    End PropertyEnd Class'/************************************************* '作者:许恕'小组:  '说明:基本数据接口的编码'创建日期:2013年1月30日'版本号:1.0.0'**********************************************/'卡表的服务接口Public Interface ICardSeverDAL    '测试卡号密码是否正确    Function Test(card As Model.CardModel) As Boolean    '增加卡号    Function Add(card As Model.CardModel) As Boolean    '删除卡号    Function Delete(card As Model.CardModel) As Boolean    '编辑卡号    Function Edit(card As Model.CardModel) As Boolean    '查询卡号    Function CheckInformation(card As Model.CardModel) As Model.CardForStudentModel()End Interface'/************************************************* '作者:许恕'小组:  '说明:上下机工厂'创建日期:2013年1月30日'版本号:1.0.0'**********************************************/Imports System.Reflection'关于上下机的工厂Public Class LineFactory       '创造卡表的服务类    Public Function CreatCardSeverDAL() As IDAL.ICardSeverDAL        Dim ICardDAL As IDAL.ICardSeverDAL        Dim asmName As String        Dim className As String        asmName = "DAL"        className = asmName + "." + "SqlseverCardSeverDAL"        '利用反射生成需要的类        ICardDAL = CType(Assembly.Load(asmName).CreateInstance(className), IDAL.ICardSeverDAL)        Return ICardDAL    End FunctionEnd Class'/************************************************* '作者:许恕'小组:  '说明:上下机外观'创建日期:2013年1月30日'版本号:1.0.0'**********************************************/'上下机的外观类Public Class LineFacade    Dim lineObject As BLL.LineBll    Sub New()        lineObject = New BLL.LineBll    End Sub    '上机    Public Function Online(card As Model.CardModel) As Boolean        Return lineObject.TestUser(card)    End FunctionEnd Class'/************************************************* '作者:许恕'小组:  '说明:数据操作层的编码'创建日期:2013年1月30日'版本号:1.0.0'**********************************************/'D层关于上下机的一类'卡表Public Class SqlseverCardSeverDAL : Implements IDAL.ICardSeverDAL    Private str_SqlConnection As String    '连接数据库    Public Sub New()        str_SqlConnection = ConfigurationManager.AppSettings("SqlConnectionString")    End Sub        '测试卡是否存在    Public Function Test(card As CardModel) As Boolean Implements ICardSeverDAL.Test        Dim sqlString As String        Dim MyCmd As SqlCommand        Dim MyConn As SqlConnection        Dim MyReader As SqlDataReader        sqlString = "select * from T_Cardinfo where card_id='" & card.Card_Id & "' and password='" & card.Card_PassWord & "'"        MyConn = New SqlConnection(str_SqlConnection)        MyCmd = New SqlCommand(sqlString, MyConn)        Try            MyConn.Open()            MyReader = MyCmd.ExecuteReader            If MyReader.Read() Then                MyReader.Close()                MyConn.Close()                Return True            Else                Return False            End If        Catch ex As Exception            MsgBox(ex.Message)            Return Nothing        End TryEnd FunctionEnd class'/************************************************* '作者:许恕'小组:  '说明:商务逻辑层的编码'创建日期:2013年1月30日'版本号:1.0.0'**********************************************/'B层的上下机类Public Class LineBll    '测试用户是否存在    Public Function TestUser(card As Model.CardModel) As Boolean        Dim lineFactory As New Factory.LineFactory        Dim icard As IDAL.ICardSeverDAL        icard = lineFactory.CreatCardSeverDAL        Return icard.Test(card)    End FunctionEnd Class


3楼xiaorongxr昨天 10:19
还在用VB ? 真是古董。。都淘汰N年的东西了。。
Re: xvshu昨天 10:20
回复xiaorongxrn温故而知新!欢迎交流
2楼jiuqiyuliang前天 15:35
看来我们得加把劲了
Re: xvshu昨天 16:22
回复jiuqiyuliangn一起努力啊
1楼lishehe3天前 17:17
这样下来剩下的基本上也是重复的,每个功能里面添加相应的部分,三层+设计模式就是好,现在体会还是浅,这也够重构的了呵呵,加油
Re: xvshu前天 11:01
回复lishehen关于类的设计也很头疼啊
  相关解决方案