日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

理解ASP.NET中的三层结构

發(fā)布時間:2025/3/15 asp.net 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 理解ASP.NET中的三层结构 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

理解ASP.NET中的三層結(jié)構(gòu)

  我們用三層結(jié)構(gòu)主要是使項目結(jié)構(gòu)更清楚,分工更明確,有利于后期的維護和升級.

  三層結(jié)構(gòu)包含:表示層(USL),業(yè)務邏輯層(BLL),數(shù)據(jù)訪問層(DAL)

  1:數(shù)據(jù)訪問層:主要是對原始數(shù)據(jù)(數(shù)據(jù)庫或者文本文件等存放數(shù)據(jù)的形式)的操作層,而不

  ?? 是指原始數(shù)據(jù),也就是說,是對數(shù)據(jù)的操作,而不是數(shù)據(jù)庫,具體為業(yè)務邏輯層或表示層提供數(shù)據(jù)服務.

  2:業(yè)務邏輯層:主要是針對具體的問題的操作,也可以理解成對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務邏

  ?? 輯處理,如果說數(shù)據(jù)層是積木,那邏輯層就是對這些積木的搭建。

  3:表示層:主要表示W(wǎng)EB方式,也可以表示成WINFORM方式,

?????? 如果邏輯層相當強大和完善,無論表現(xiàn)層如何定義和更改,邏輯層都能完善地提供服務。
飛鴿傳書-http://www.freeeim.com/
具體的區(qū)分方法

  1:數(shù)據(jù)訪問層:主要看你的數(shù)據(jù)層里面有沒有包含邏輯處理,實際上他的各個函數(shù)主要完成

  ?? 各個對數(shù)據(jù)文件的操作。而不必管其他操作。

  2:業(yè)務邏輯層:主要負責對數(shù)據(jù)層的操作。也就是說把一些數(shù)據(jù)層的操作進行組合。

  3:表示層:主要對用戶的請求接受,以及數(shù)據(jù)的返回,為客戶端提供應用程序的訪問。

三層結(jié)構(gòu)說明

  完善的三層結(jié)構(gòu)的要求是:修改表現(xiàn)層而不用修改邏輯層,修改邏輯層而不用修改數(shù)據(jù)層

  .否則你的應用是不是多層結(jié)構(gòu),或者說是層結(jié)構(gòu)的劃分和組織上是不是有問題就很難說.

不同的應用有不同的理解,這是一個概念的問題.

流程圖

????????????????

部署三層結(jié)構(gòu)

1:新建一空白解決方案

2:在此解決方案上添加>>新建項目>>類庫 取名DBEntity(數(shù)據(jù)庫實體)

3:在此解決方案上添加>>新建項目>>類庫 取名DAL(數(shù)據(jù)訪問層)

4:在次解決方案上添加>>新建項目>>類庫 取名BLL(業(yè)務邏輯層)

5:在次解決方案上添加>>新建網(wǎng)站>>ASP.NET網(wǎng)站 取名WebSite(表示層,WinForm項目的話添加一Window應用程序)

6:DAL,BLL, WebSite分別添加對數(shù)據(jù)庫實體DBEntity的引用

7:BLL添加對對DAL的引用,WebSite添加對BLL的引用

?

?

?

下面用一用戶登陸演示項目

DBEntity添加UserInfo.cs,代表數(shù)據(jù)庫實體,一般是和數(shù)據(jù)庫一一對應的


view sourceprint?01 using System;?

02 using System.Collections.Generic;?

03 using System.Text;?

04???

05 namespace DBEntity?

06 {?

07???? public class UserInfo?

08???? {?

09???????? private int _id;?

10???????? private string _userName;?

11???????? private string _passWord;?

12???

13???????? public int Id?

14???????? {?

15???????????? get { return _id; }?

16???????????? set { _id = value; }?

17???????? }?

18???

19???????? public string UserName?

20???????? {?

21???????????? get { return _userName; }?

22???????????? set { _userName = value; }?

23???????? }?

24??????????

25???????? public string PassWord?

26???????? {?

27???????????? get { return _passWord; }?

28???????????? set { _passWord = value; }?

29???????? }?

30???? }?

31 }


DAL里添加UserDAL.cs


view sourceprint?01 using System;?

02 using System.Data;?

03 using System.Data.SqlClient;?

04 using System.Configuration;?

05 using System.Collections.Generic;?

06 using DBEntity;?

07???

08 namespace DAL?

09 {?

10???? public class UserDAL?

11???? {?

12???????? private string ConnectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString();?

13???????? public UserInfo Login(string userName, string passWord)?

14???????? {?

15???????????? UserInfo info = new UserInfo();?

16???????????? string strSql = "select id,userName,passWord from Users where userName=@userName and passWord=@passWord";?

17???????????? SqlConnection conn = new SqlConnection(ConnectionString);?

18???????????? conn.Open();?

19???????????? SqlCommand com = new SqlCommand();?

20???????????? com.CommandType = CommandType.Text;?

21???????????? com.CommandText = strSql;?

22???????????? com.Connection = conn;?

23???????????? com.Parameters.AddWithValue("@userName", userName);?

24???????????? com.Parameters.AddWithValue("@passWord", passWord);?

25???????????? SqlDataReader dr = com.ExecuteReader(CommandBehavior.CloseConnection);?

26???????????? if (dr.Read())?

27???????????? {?

28???????????????? info.Id = Convert.ToInt32(dr["id"]);?

29???????????????? info.UserName = dr["userName"].ToString();?

30???????????????? info.PassWord = dr["passWord"].ToString();?

31???????????????? return info;?

32???????????? }?

33???????????? else

34???????????? {?

35???????????????? return null;?

36???????????? }?

37???????? }?

38???? }?

39 }


BLL里添加UserBLL.cs


view sourceprint?01 using System;?

02 using System.Collections.Generic;?

03 using System.Text;?

04 using DBEntity;?

05 using DAL;?

06???

07 namespace BLL?

08 {?

09???? public class UserBLL?

10???? {?

11???????? UserDAL dal = new UserDAL();?

12???????? public UserInfo Login(string userName, string passWord)?

13???????? {?

14???????????? return dal.Login(userName, passWord);?

15???????? }?

16???? }?

17 }


Web里Login.aspx對應的后臺代碼


view sourceprint?01 using System;?

02 using BLL;?

03 using DBEntity;?

04???

05 public partial class _Default : System.Web.UI.Page??

06 {?

07???? protected void Page_Load(object sender, EventArgs e)?

08???? {?

09???

10???? }?

11???? protected void Button1_Click(object sender, EventArgs e)?

12???? {?

13???????? UserBLL data = new UserBLL();?

14???????? UserInfo info = new UserInfo();?

15???????? info = data.Login(TextBox1.Text, TextBox2.Text);?

16???????? if (info != null)?

17???????? {?

18???????????? //登陸成功?

19???????????? Response.Write("<script>alert(OK!)</script>");?

20???????? }?

21???????? else

22???????? {??

23???????????? //登陸失敗?

24???????????? Response.Write("<script>alert(ERROR!)</script>");?

25???????? }?

26???? }?

27 }


至此,簡單的三層架構(gòu)用戶登陸完成了!

水平有限,寫的不好大家來指點!

下次寫下三層架構(gòu)的擴展:工廠模型

附源碼下載:ThreeModelSolution.rar

總結(jié)

以上是生活随笔為你收集整理的理解ASP.NET中的三层结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美一区二区三区免费 | 亚洲视频高清 | 69人妻精品久久无人专区 | 成年人免费在线 | 日本视频精品 | 欧美色综合网站 | 国产一区二区视频在线播放 | 国内毛片毛片毛片毛片毛片 | 鲁在线视频 | 日韩精品网站 | 精品人妻无码一区二区三区蜜桃一 | 久久深夜视频 | 久久久久亚洲AV | 日韩啊v | 天天躁日日躁aaaa视频 | mm1313亚洲国产精品无码试看 | 四虎网站在线 | 少妇的激情 | 久久精品在线免费观看 | 日韩一级成人 | a级无遮挡超级高清-在线观看 | 丝袜美女av | 日韩av看片 | 男男做爰猛烈啪啪高 | 特级一级黄色片 | 日韩射吧| 亚洲xxxxx| 在线观看免费视频一区二区 | 黑丝美女啪啪 | 天天射天天草 | 日本人妻一区二区三区 | 黑人操少妇 | 日本少妇xxxx| 韩国女主播裸体摇奶 | 国产一区二区三区四区精 | 大陆明星乱淫(高h)小说 | 成人做爰66片免费看网站 | 欧美一级黄色片网站 | 九色网站在线观看 | 男女午夜免费视频 | 国产视频中文字幕 | 亚拍一区| 最新av | 6080电视影片在线观看 | 无码人妻久久一区二区三区不卡 | 国产在线97| 日韩免费片 | 久久久精彩视频 | 欧美日韩伊人 | 天天综合网天天综合 | 欧洲一级黄色片 | 欧美黑人粗大 | 亚洲福利电影 | 国产精品三级久久久久久电影 | 国产日韩精品一区二区三区在线 | 午夜在线一区二区三区 | 一区二区三区视频免费视 | 国产精品9 | 丰满大肥婆肥奶大屁股 | 国产激情一区二区三区在线观看 | 天堂网一区二区三区 | 精品国产自 | 91在线视频观看 | 真人抽搐一进一出视频 | 国产男男一区二区三区 | 黄色片视频播放 | 天天射天天操天天干 | 亚洲无码精品一区二区三区 | 哈利波特3在线观看免费版英文版 | 欧美一级黑人 | 久草蜜桃 | 手机av在线| caoporn免费在线 | 国产真人做爰视频免费 | 精品国产精品三级精品av网址 | 欧美激情在线观看视频 | 97在线免费观看 | 黄色日韩视频 | 污视频网站入口 | 人人爱人人射 | 三级视频在线看 | 精品美女一区 | 午夜激情av | 欧美 日韩 国产 一区 | 国产资源在线免费观看 | 91毛片视频| 在线看成人 | 天天夜夜草 | 久久精品网址 | 蜜桃久久精品 | 好男人视频www | 成人午夜激情视频 | 中国精品一区二区 | 国产伦精品一区三区精东 | 怎么可能高潮了就结束漫画 | 在线成人播放 | 人人爽人人爱 | 美女午夜视频 | 免费黄色国产 |