|
三層結(jié)構(gòu)包含:表示層(USL),業(yè)務(wù)邏輯層(BLL),數(shù)據(jù)訪問層(DAL)
1:數(shù)據(jù)訪問層:主要是對原始數(shù)據(jù)(數(shù)據(jù)庫或者文本文件等存放數(shù)據(jù)的形式)的操作層,而不
是指原始數(shù)據(jù),也就是說,是對數(shù)據(jù)的操作,而不是數(shù)據(jù)庫,具體為業(yè)務(wù)邏輯層或表示層提供數(shù)據(jù)服務(wù).
2:業(yè)務(wù)邏輯層:主要是針對具體的問題的操作,也可以理解成對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務(wù)邏
輯處理,如果說數(shù)據(jù)層是積木,那邏輯層就是對這些積木的搭建。
3:表示層:主要表示W(wǎng)EB方式,也可以表示成WINFORM方式,
如果邏輯層相當強大和完善,無論表現(xiàn)層如何定義和更改,邏輯層都能完善地提供服務(wù)。
具體的區(qū)分方法
1:數(shù)據(jù)訪問層:主要看你的數(shù)據(jù)層里面有沒有包含邏輯處理,實際上他的各個函數(shù)主要完成
各個對數(shù)據(jù)文件的操作。而不必管其他操作。
2:業(yè)務(wù)邏輯層:主要負責對數(shù)據(jù)層的操作。也就是說把一些數(shù)據(jù)層的操作進行組合。
3:表示層:主要對用戶的請求接受,以及數(shù)據(jù)的返回,為客戶端提供應(yīng)用程序的訪問。
三層結(jié)構(gòu)說明
完善的三層結(jié)構(gòu)的要求是:修改表現(xiàn)層而不用修改邏輯層,修改邏輯層而不用修改數(shù)據(jù)層
.否則你的應(yīng)用是不是多層結(jié)構(gòu),或者說是層結(jié)構(gòu)的劃分和組織上是不是有問題就很難說.
不同的應(yīng)用有不同的理解,這是一個概念的問題.
流程圖
部署三層結(jié)構(gòu)
1:新建一空白解決方案
2:在此解決方案上添加>>新建項目>>類庫 取名DBEntity(數(shù)據(jù)庫實體)
3:在此解決方案上添加>>新建項目>>類庫 取名DAL(數(shù)據(jù)訪問層)
4:在次解決方案上添加>>新建項目>>類庫 取名BLL(業(yè)務(wù)邏輯層)
5:在次解決方案上添加>>新建網(wǎng)站>>ASP.NET網(wǎng)站 取名WebSite(表示層,WinForm項目的話添加一Window應(yīng)用程序)
6:DAL,BLL, WebSite分別添加對數(shù)據(jù)庫實體DBEntity的引用
7:BLL添加對對DAL的引用,WebSite添加對BLL的引用
下面用一用戶登陸演示項目
DBEntity添加UserInfo.cs,代表數(shù)據(jù)庫實體,一般是和數(shù)據(jù)庫一一對應(yīng)的
using System;using System.Collections.Generic;using System.Text;namespace DBEntity{ public class UserInfo { private int _id; private string _userName; private string _passWord; public int Id { get { return _id; } set { _id = value; } } public string UserName { get { return _userName; } set { _userName = value; } } public string PassWord { get { return _passWord; } set { _passWord = value; } } }}
it知識庫:簡單三層程序設(shè)計,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。