.NET三层实例

一:类图和时序图

类图:

时序图:


二:.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 Function
End Class

DAO层

Imports System.Data.SqlClient
Imports System.Data.SqlClient.SqlCommand

Public 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 Function
End 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 Property
End Class

小结:

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

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

 

 

 


评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值