过年了,马上就是2006年了,来博客有半年时间了,可一直没有写些文章(有点不像话),今天写上一篇简单的3层结构的吧
在ASP的开发中,3层结构就经常用到,现在的.Net里也很好的支持3层结构,那么什么是3层结构呢?
简单的说,3层结构是一种新的程序设计方式,分为表示层( Presentation Layer)、业务层BLL(Business Logic Layer)和数据层DAL(DataBase Access Layer)。由表示层来控制界面、显示,BLL来处理逻辑和数据库的存取等,数据库层来存储数据。
对于我们的ASP.Net 我们可以首先新建一个页面ASPX,然后建立一个数据库用于储存数据,最后自己定义一个存储类来完成工作。
自定义了一个类xzlang,使用命名空间gaoy,并且有两个方法love和db,db用于返回一个已填充的Reader
Imports System.Data.SqlClient
Namespace gaoy
Public Class xzlang
Public Function love() As String
Return "XXL"
End Function
Public Function db() As SqlDataReader
Dim connstr = "data source=127.0.0.1;initial catalog=aword;user id=sa;pwd=SC"
Dim conn As SqlConnection = New SqlConnection(connstr)
conn.Open()
Dim sql As String = "select * from tb_word"
Dim com As SqlCommand = New SqlCommand(sql, conn)
db = com.ExecuteReader
Return db
conn.Close()
End Function
End Class
End Namespace
Namespace gaoy
Public Class xzlang
Public Function love() As String
Return "XXL"
End Function
Public Function db() As SqlDataReader
Dim connstr = "data source=127.0.0.1;initial catalog=aword;user id=sa;pwd=SC"
Dim conn As SqlConnection = New SqlConnection(connstr)
conn.Open()
Dim sql As String = "select * from tb_word"
Dim com As SqlCommand = New SqlCommand(sql, conn)
db = com.ExecuteReader
Return db
conn.Close()
End Function
End Class
End Namespace
那么,在表示层ASPX中,我即可以使用
Imports vbdotnet.gaoy.xzlang
来指定命名空间(vbdotnet是我的项目名)
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a As New gaoy.xzlang
Response.Write(a.love)
DataGrid1.DataSource = a.db
DataGrid1.DataBind()
End Sub
Dim a As New gaoy.xzlang
Response.Write(a.love)
DataGrid1.DataSource = a.db
DataGrid1.DataBind()
End Sub
定义a为xzlang类的实例,我便可以使用xzlang的两个方法来返回字符和取得数据了.