解析三层架构(2)----分层究竟分出了那些东西

本文探讨了为什么需要进行分层架构,通过对比无分层的代码示例,阐述了分层带来的好处,如降低耦合、提高可维护性和可扩展性。文章介绍了将数据库操作提取为DAO层,以及根据业务逻辑划分BLL层,并讨论了数据有效性校验的位置。此外,还提及了使用接口和抽象工厂以实现更灵活的数据库操作。
摘要由CSDN通过智能技术生成

在上篇文章写到我们为什么要分层.有很多读者提出来很多宝贵的意见.让我受益匪浅,深深的感觉到自己的水平"还有很大的提升空间".首先感谢这些朋友们,我会进一步总结完善自己的想法.

截取了部分朋友的留言,感谢他们:

clip_image001

clip_image002

clip_image003

这次我用对比的方式描述一下,分层到底分出了什么.俗话说:有分必有合,那么它是把什么合到了一起.

首先写出两个没有分层的demo:

<1>查询信息demo

   1: Public Class Form2
   2:     Private sqlCon As String = "Data Source=LSH;Initial Catalog=ComputerLab;User ID=sa;Password=123456"
   3:     '查询数据库信息信息
   4:     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   5:  
   6:         Dim conStr As New SqlConnection '数据库连接对象
   7:         Dim sqlCom As SqlCommand        '数据库执行对象
   8:         Dim Res As DialogResult         '消息提示框返回类型
   9:         Dim dr As SqlDataReader         'dataReader对象
  10:         Dim dt As New DataTable         'Datatable对象
  11:  
  12:         Dim sql As String = "select * from TableName where Name=@name"                   'sql插入语句
  13:         conStr.ConnectionString = sqlCon                                '给数据库连接对象赋值
  14:         sqlCom = New SqlCommand(sql, conStr)                            '给数据库执行对象赋值
  15:         sqlCom.Parameters.Add("@name", SqlDbType.VarChar, TextBox1.Text)    '给sql语句参数赋值
  16:  
  17:         Res = MessageBox.Show("是否添加", "提示", MessageBoxButtons.OKCancel)
  18:         '判断是否查询
  19:         If Res = DialogResult.Yes Then
  20:             Try
  21:                 conStr.Open()
  22:                 dr = sqlCom.ExecuteReader    '执行查询语句
  23:                 dt.Load(dr)
  24:             Catch ex As Exception
  25:                 Throw ex
  26:             Finally
  27:                 If Not IsNothing(conStr) Then   '如果数据库打开,则关闭数据库
  28:                     conStr.Close()
  29:                 End If
  30:             End Try
  31:         End If
  32:  
  33:         MsgBox(dt.Rows.Count)   '显示查询到的行数
  34:     End Sub
 
<2>添加信息demo
   1: Public Class Form1
   2:     Private sqlCon As String = "Data Source=LSH;Initial Catalog=ComputerLab;User ID=sa;Password=123456"
   3:     '向数据库添加信息
   4:     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   5:         Dim bln As Boolean = False      '存储返回值
  • 0
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 69
    评论
评论 69
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值