asp.net其實并不是一種語言,它只是建設動態(tài)網(wǎng)頁所需要的一個比較強大的服務器端的技術,它也不只是asp的簡單升級,而且微軟公司所推出來的一個新的腳本語言?,F(xiàn)在asp.net已經(jīng)有了三層架構,很多朋友對于asp.net的三層架構情況還不是很了解,那么asp.net三層架構是怎樣的?三層架構網(wǎng)站創(chuàng)建流程是怎樣的呢?下面就給朋友們詳細的來說明一下關于三層架構的相關問題,以供參考。
asp.net三層架構是什么意思?
asp.net三層架構:指的是pl(present layer)層,bll(business logical layer)層,dal(data access layer)層,是一種總體設計的思想。
pl層(web層):是表現(xiàn)層,主要是用來展示數(shù)據(jù);
bll層:是處理層,主要是用來處理數(shù)據(jù);
dal層:主要是從數(shù)據(jù)庫獲取數(shù)據(jù)的。
pl面向用戶,dal面向數(shù)據(jù)庫。
具體闡述:pl是web應用程序,調(diào)用bll的方法將數(shù)據(jù)傳給bll或者從bll中獲取處理好的數(shù)據(jù);bll層是一個類庫,調(diào)用dal的方法獲取數(shù)據(jù)或者將數(shù)據(jù)處理結果給dal。
實現(xiàn)asp.net三層架構網(wǎng)站創(chuàng)建流程
1.新建項目—>visual c#—>web—>asp.net空web應用程序 或者 新建網(wǎng)站—>asp.net空網(wǎng)站。
2.在解決方案處右擊—>新建項目—>windows—>類庫,分別創(chuàng)建三層架構,model(實體層)、dll(邏輯層)、dal(數(shù)據(jù)層)。
3.創(chuàng)建好三層類庫后,在model類庫項目上右擊,選擇添加—>類,并命名。
4.在創(chuàng)建好類之后(每一個類對應數(shù)據(jù)庫中的一個表),輸入private string sname(string是數(shù)據(jù)庫中字段類型,sname是數(shù)據(jù)庫中字段名,與自己的數(shù)據(jù)庫表相對應),如何對private string sname選中—>右擊—>選擇重構—>封裝字段,然后點擊確定即可,實現(xiàn)了對數(shù)據(jù)庫中表的一個字段進行封裝,其余字段封裝步驟跟上述一樣,在創(chuàng)建完之后點擊工具欄處的“生成”—>生成model即可。操作步驟如下圖,我的封裝后的代碼如下(根據(jù)自己的數(shù)據(jù)庫表進行封裝)。
5.對dal層進行代碼的編寫,主要分為:
(1)數(shù)據(jù)庫連接函數(shù)。
(2)執(zhí)行sql語句函數(shù)。
(3)sql語句書寫和相應參數(shù)存儲函數(shù)。
注意:要在文件頭部引用using system.data; using system.data.sqlclient; using model; 前兩個是asp.net集成的數(shù)據(jù)庫操作庫,調(diào)用其中相關函數(shù)、變量即可,最后一個是我們自己創(chuàng)建的model類(在使用using model命令之前需要將model這個類在dal這個項目中引用,在dal項目中的“引用”處右擊,選擇添加引用,選擇項目找到model這個項目類確定即可)。
asp.net三層架構優(yōu)缺點
優(yōu)點:
1、開發(fā)人員可以只關注整個結構中的其中某一層;
2、可以很容易的用新的實現(xiàn)來替換原有層次的實現(xiàn);
3、可以降低層與層之間的依賴(高內(nèi)聚,低耦合);
4、有利于標準化;
5、利于各層邏輯的復用。
缺點:
1、降低了系統(tǒng)的性能。這是不言而喻的。如果不采用分層式結構,很多業(yè)務可以直接造訪數(shù)據(jù)庫,以此獲取相應的數(shù)據(jù),如今卻必須通過中間層來完成。
2、有時會導致級聯(lián)的修改。這種修改尤其體現(xiàn)在自上而下的方向。如果在表示層中需要增加一個功能,為保證其設計符合分層式結構,可能需要在相應的業(yè)務邏輯層和數(shù)據(jù)訪問層中都增加相應的代碼。
asp.net三層架構情況是怎樣的?以上就給大家詳細的介紹了關于asp.net三層架構的相關內(nèi)容,關于asp.net三層架構,它是有好的一面,也要不好的一面的,大家一定要對asp.net三層架構有一個正確的認識,如果想實現(xiàn)asp.net三層架構來創(chuàng)建網(wǎng)站的話,可以咨詢下的工作人員。