.NET三层实例

来源:互联网 发布:淘宝实名资料 编辑:程序博客网 时间:2024/04/24 20:45

一:类图和时序图

类图:

时序图:


二:.NET三层框架


                   U层:LoginUI

                   B层:LoginBll

                   D层:LoginDAO

三:各层代码


UI层

Public Class frmLogin    Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click        Try            Dim user As New Entity.User_Entity            Dim check As New LoginBLL.LoginUser            Dim user3 As Boolean            user.UserName = txtUserID.Text.Trim            user.Password = txtPassword.Text            If txtUserID.Text = "" Or txtPassword.Text = "" Then                MessageBox.Show("请填写完整信息")            End If            user3 = check.UserLogin(user)            MessageBox.Show("登录成功")        Catch ex As Exception            MsgBox(ex.Message)        End Try    End Sub    Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click        Me.Close()    End Sub  End Class

BLL层

Public Class LoginUser    Function UserLogin(ByVal user As Entity.User_Entity) As Boolean        Dim Dao As New LoginDAO.UserDAO        Dim user2 As Boolean        user2 = Dao.SelectUser(user)        If user2 Then            Return True        Else            Throw New Exception("登录失败")            Exit Function        End If    End FunctionEnd Class

DAO层

Imports System.Data.SqlClientImports System.Data.SqlClient.SqlCommandPublic Class UserDAO    Dim connDB As String = "server=.;database=mylogin;user id =sa;password=123;"    Dim connsql As SqlConnection = New SqlConnection(connDB)    Function SelectUser(ByVal user As Entity.User_Entity) As Boolean        Dim sql As String = "select * from userinfo where user_id=@UserName and password=@Password;"        Dim cmd As SqlCommand = New SqlCommand(sql, connsql)        cmd.Parameters.Add(New SqlParameter("@UserName", user.UserName))        cmd.Parameters.Add(New SqlParameter("@Password", user.Password))        connsql.Open()        Dim read As SqlDataReader = cmd.ExecuteReader()        If read.Read() Then            Return True        Else            Return False            Exit Function        End If    End FunctionEnd Class

实例类:

Public Class User_Entity    Private strUsername As String    Public Property UserName As String        Get            Return strUsername        End Get        Set(ByVal value As String)            strUsername = value        End Set    End Property    Private strPassword As String    Public Property Password As String        Get            Return strPassword        End Get        Set(ByVal value As String)            strPassword = value        End Set    End PropertyEnd Class

小结:

刚看完三层的视频,跟着视频里边把C#的三层实例敲了敲,简直就是混乱,没有理清楚三层之间数据传递的顺序和规律,结果就是各个层瞎看,越看越乱。

从网上查了些三层的理论知识,对于三层的由来和优缺点有了较好的认识后,重新好好审视三层实例,尝试画图分析,结果慢慢就看出其中的端倪,了解了数据传递的顺序和各个层之间的关系,三层也就不难了,慢慢敲,慢慢琢磨终于完成了初始版本,大家多多批评指教吧。

 

 

 


0 0