当前位置: 首页 > news >正文

虚拟主机云主机seo网站诊断方案

虚拟主机云主机,seo网站诊断方案,盛泽网站建设,小说推广赚钱平台哪个好目录 前言: 什么是三层 为什么要用到三层: 饭店→软件 理解: 过程: 1.三层包图: 2.数据库 3.三层项目 4.用户界面 5.添加引用 代码实现: Entity层 BLL层 DAL层 UI层 总结: 前言: 什么是三层 三层就是把各个功能模块划分为表示层&#…

目录

前言:

什么是三层

为什么要用到三层:

饭店→软件

 理解:

过程:

1.三层包图:

2.数据库

3.三层项目

4.用户界面

5.添加引用

代码实现:

Entity层

BLL层

DAL层

UI层

总结:


前言:

什么是三层

三层就是把各个功能模块划分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)三层架构,各层之间采用接口相互访问,并通过对象模型的实体类(Model)作为数据传递的载体,不同的对象模型的实体类一般对应于数据库的不同表,实体类的属性与数据库表的字段名一致。

简单的点来说:就是高内聚,底耦合的思想,不会牵一发而动全身。

为什么要用到三层:

 生活中饭店的例子来举例,大家可能会更理解一些。

:服务员只管接待客人

:厨师只管烹炒客人要的菜系

:采购员只管按照客人的需求来采购食材

  各司其职,共同协作为客人提供美食

问题:
为什么要需要这三种角色,为什么不合在一起,每个角色的功能的是分离的
举例:

服务员离职、请假→其他服务员代替

厨师离职→其他厨师代替

采购员离职→其他采购员代替

为什么能够替代,每个人的功能是一致,角色不行了替代就可以,如果合在一起就不好找人了。

饭店→软件

 理解:

   三层从生活到软件,不会因为谁的不在或离职,从而工作停掉,三层在软件中易是如此,每个层都有特定的职责和功能,不会因为需求改动从而需要修改整个系统,只需改其中一层的的代码,通过这种方式实现代码的模块化和维护性这就是所谓的三层

过程:

1.三层包图:

  包图用于描述逻辑架构—层、子系统、包等,所以拿包图在合适不过了。

2.数据库

3.三层项目

 

4.用户界面

5.添加引用

代码实现:

Entity层

Public Class eUserLoginPrivate strUserNo As String '定义一个私有字段,该字段的类型为StringPrivate strPassword As String 'Public Property Password() As StringGet '获取属性值Return strPassword '返回strPassword的字符串变量的值End Get '结束方法Set(value As String) '接收一个名为"value"的字符串类型的参数strPassword = value '传递给StrPasswrod的字符串变量End Set '结束方法End PropertyPublic Property UserNo() As StringGetReturn strUserNoEnd GetSet(value As String)strUserNo = valueEnd SetEnd Property
End Class

BLL层

Imports System.Xml
Imports Login.DALPublic Class LoginBLL'UserInfo用来承载登录时输入的用户名和密码,全局实体Public Function login(ByVal UserInfo As Entity.eUserLogin) As Entity.eUserLogin'实例化D层Dim dLogin As New Login.DAL.UserInfoDAL'定义B层的返回实体Dim bUserInfo As New Entity.eUserLogin'调用D层SelectUser方法bUserInfo = dLogin.SelectUser(UserInfo) '执行一个名为SelectUser的方法,并将其返回值赋给"bUserInfo"的布尔型变量If (bUserInfo.UserNo Is Nothing Or bUserInfo.Password Is Nothing) Then '判断bUserInfo.UserNo和bUserInfo.Password是否为空Throw New Exception("用户名或密码错误,请查看") 'True返回消息ElseMsgBox("登录成功,请稍后", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "提示")Return bUserInfo 'False 返回消息  End IfEnd Function
End Class

DAL层

'单建了一类来放数据库连接
Imports System.Data.SqlClientPublic Class LinkeDALPublic Shared Function connstring() As String'连接数据库字符串connstring = "Server= 192.168.96.71;Database=cybercafe;User ID=sa;Password=123456;"End Function
End Class

Imports System.Data.SqlClient
Imports Login
Public Class UserInfoDALPublic Function SelectUser(UserInfo As Entity.eUserLogin) As Entity.eUserLoginDim conn As New SqlConnection(LinkeDAL.connstring)'打开数据库conn.Open()'创建一个名为"reader"的SqlDataReader对象'(SqlDataReader)是一种.NET Framework中的数据读取器,用于从Microsoft SQL Server数据库中读取数据 Dim reader As SqlDataReader'D层实例化执行查询后返回实体Dim duserInfo As New Entity.eUserLogin'查询语句Dim sql As String = "Select * from User_Info where UserNo=@UserNo and Password=@Password"'创建一个名为"cmd"的SqlCommand对象,并将其初始化指定的SQL语句和数据库连接对象。 'SqlCommand是一个.NET Framework中的类,用于执行SQL语句并返回查询结果Dim cmd As New SqlCommand(sql, conn)'向SQL语句添加一个命名参数,就将"@UserNo"的参数添加一个值,这个值来自一个名为UserInfo的对象 '@符作为参数的前缀,可以让SQL语句更容易区分参数和普通参数的文本。同时,@符号可以让SQL语句更易于阅读和理解cmd.Parameters.Add(New SqlParameter("@UserNo", UserInfo.UserNo))cmd.Parameters.Add(New SqlParameter("@Password", UserInfo.Password))'执行查询语句并将结果以DataReader对象的形式返回,以供后续的数据处理和操作reader = cmd.ExecuteReader()'循环语句它会在SqlDataReader对象中有下一行数据时执行,在每次循环中,我们将使用SqlDataReader对象的一些方法(如GetString、GetInt32等)来获取当前行的数据,并将其存储在相应的变量中。While (reader.Read())'循环来逐行查询结果。每次循环中,我们使用read.GetString()来获取查询结果中第一列的字符串,并赋值给duseInfo对象的UserNo属性duserInfo.UserNo = reader.GetString(0)duserInfo.Password = reader.GetString(1)End WhileReturn duserInfoconn.Close() '关闭数据库 End Function
End Class

UI层

Imports System.XmlPublic Class Form1Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click '单击事件Try'实例化传实体的对象Dim UserInfo As New Entity.eUserLogin'将用户名和密码放入实体,文本框中的字符串去除空格并赋给实体对象UserInfo,使实体对象能够带上参数UserInfo.UserNo = txtUserName.Text.Trim()UserInfo.Password = txtPassWord.Text.Trim()'判断账号否为空If txtUserName.Text = "" ThenMsgBox("用户名不能为空!", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "提示")ReturnEnd If'判断密码是否为空If txtPassWord.Text = "" ThenMsgBox("密码不能为空!", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "提示")ReturnEnd If'定义一个最终的返回体,returnUserInfo,承接经过D层查询,B层判断的登录信息'实例化BLL层的对象Dim bLogin As New LoginBLL.LoginBLL'调用B层的方法loginbLogin.login(UserInfo)Catch ex As Exception '处理异常的代码MessageBox.Show(ex.Message.ToString) '返回一个字符串,表示异常的详细信息End Try '方法结束End SubPrivate Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.ClickEndEnd Sub
End Class

总结:

对于三层的理解还不是很透彻,还是需要多实践,理论明白了并不代表真正意义上的明白。

http://www.tj-hxxt.cn/news/38706.html

相关文章:

  • 网站维护主要是做哪些淘宝新店怎么快速做起来
  • 做网站需要怎么分工推广怎么推
  • 自己想做个网站怎么做久久seo正规吗
  • wordpress调用特色图网络营销优化推广公司
  • 班级同学录网站建设一键优化大师
  • 手机响应式网站开发百度知道入口
  • wordpress主题创建织梦seo排名优化教程
  • 动态网站建设与管理东莞外贸推广公司
  • 360浏览器建设银行网站百度人气榜排名
  • 厦门微信网站开发seo推广一年要多少钱
  • 网站建设费会计处理seo网站培训优化怎么做
  • 几大网络公司排名逆冬黑帽seo培训
  • 织梦网站地图html怎么做搜索引擎seo推广
  • 免费b2b网站排名如何制作网址链接
  • 利用百度搜索自己的网站dsp投放方式
  • 网站策划布局推广普通话主题手抄报
  • 著名logo设计seop
  • 前端开发做移动端的网站合肥网站外包
  • 国外公司查询网站什么平台可以免费打广告
  • 深夜一个人适合看的电影关键词排名优化公司哪家强
  • 手机网站模板 餐饮长沙有实力seo优化公司
  • 哪里网站备案方便快泉州网站建设
  • 什么网站是做货到付款的seo工程师招聘
  • 中企做网站网页推广怎么收取费用
  • 建设专业网站电话咨询软件测试培训
  • 个人网站尺寸今日国内新闻最新消息10条
  • 如何做建材网站的线下推广中国移动有免费的视频app
  • 开淘宝店要自己做网站吗北京seo优化排名推广
  • 网站的当前位置导航如何做网上培训课程平台
  • 大型科技网站建设seo搜索引擎优化求职简历