VB.NET版三层登录实例

VB.NET版三层登录实例,第1张

概述       上篇博客简单介绍了下三层架构,看着很简单,无非是功能去分层实现,每层有每层的职责,让数据在三层之间来回传输就可以了,从而更好地解耦,但是作为一个小小小菜鸟,一旦实际使用还是很伤脑筋的,下面以用户登录为例,来看看三层架构是如何被应用的。         UI层       向用户展现特定的数据,采集用户的输入信息和 *** 作,与用户进行交互。                       Pu

上篇博客简单介绍了下三层架构,看着很简单,无非是功能去分层实现,每层有每层的职责,让数据在三层之间来回传输就可以了,从而更好地解耦,但是作为一个小小小菜鸟,一旦实际使用还是很伤脑筋的,下面以用户登录为例,来看看三层架构是如何被应用的。

UI层

向用户展现特定的数据,采集用户的输入信息和 *** 作,与用户进行交互。

Public Class Form1    Private Sub btnLogin_Click(sender As Object,e As EventArgs) Handles btnLogin.Click        Dim manager As New LoginBLL.LoginManager  '实例化并引用        Dim user As New LoginModel.UserInfo        user.Username = txtUsername.Text.Trim  '给实体层赋值        user.Password = txtPassword.Text        manager.UserLogin(user)  '调给B层并判断        MessageBox.Show("登录用户" + user.Username)    End SubEnd Class
BLL层

BLL层是三层架构的核心,业务逻辑放到这一层,相当于数据的中转站了,分别从UI层和DAL层获取用户信息和数据信息,然后再回馈给这两层。

Public Class LoginManager    Public Function UserLogin(ByVal user As LoginModel.UserInfo) As LoginModel.UserInfo        Dim uDao As New LoginDAL.UserDAO  '实例化D层中UserDAO对象        Dim Uuser As New LoginModel.UserInfo '定义实体层参数用来赋值        Uuser = uDao.SelectUser(user)  '将实体user传给D层        If Isnothing(Uuser.Username) Then            Throw New Exception("登录失败")        Else            MsgBox("登陆成功")        End If        Return Uuser  '将实体user返回到U层    End FunctionEnd Class
DAL层

这一层就是和数据库打交道了,执行数据库信息的增删改查。

imports System.Data.sqlClIEntPublic Class UserDAO    Public conn As New sqlConnection("Server=DESKtop-5KMOCVI;Database=Login;User ID=sa;Password=123")  '连接数据库    Public Function SelectUser(ByVal user As LoginModel.UserInfo) As LoginModel.UserInfo  '传实体UserInfo以便参数调用        Dim sql As String = "SELECT ID,Username,Password FROM USERS WHERE Username=@Username AND Password=@Password" 'SQL查询语句        Dim cmd As New sqlCommand(sql,conn) '构造方法,执行和连接        '增加两个参数@Username、@Password        cmd.Parameters.Add(New sqlParameter("@Username",user.Username))        cmd.Parameters.Add(New sqlParameter("@Password",user.Password))        conn.open() '打开数据连接        Dim reader As sqlDataReader = cmd.ExecuteReader '定义类型为sqlDatareader的变量reader,并执行SQL语句        Dim Buser As New LoginModel.UserInfo  '实例化新的UserInfo        '使用sqlDataReader对象Read()方法进行逐行读取        While (reader.Read())            Buser.Username = reader.GetString(1) '获取第一列中的数据            Buser.Password = reader.GetString(2) '获取第二列中的数据        End While        Return Buser  '返回对象        conn.Close()  '关闭数据连接    End FunctionEnd Class
实体层

数据那么多,当然得定义一个实体来封装数据啦,用以在三层之间来回调用。

Public Class UserInfo    Private _username As String '封装一些属性,用来在三层之间传输数据    Public Property Username As String        Get            Return _username        End Get        Set(value As String)            _username = value        End Set    End Property    Private _password As String    Public Property Password As String        Get            Return _password        End Get        Set(value As String)            _password = value        End Set    End PropertyEnd Class

各层之间的引用:UI引用BLL,BLL引用DAL,Model被这仨都引用,除此之外没引用关系喽。

小结

这只是对三层架构的一个小小应用,对系统的分层体现了“高内聚,低耦合”的思想,然而这只是一个小小的起步,因为后面还有加了设计模式的七层~~小小小菜鸟,还得继续加油啊!

总结

以上是内存溢出为你收集整理的VB.NET版三层登录实例全部内容,希望文章能够帮你解决VB.NET版三层登录实例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1267858.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存