三層搭建過程
第一步打開vs,然后點擊新建—---項目—----其它項目類型-------空白解決方案。如下圖!
(備注右上角是你建立的版本是3.5 的還是2.0的,這里選擇的是3.5的)
注意1:名稱可以重命名,這個地方我命名的是Test_Example。
注意2:存放位置自己選擇一個新路徑,便於以后的查找。
然后點擊確認按鈕提交:
這樣出現一個下圖的空白解決方案。
第二步:我們建立一個數據訪問層:首先如上圖中選中空白解決方案,然后右鍵----添加-----
然后選擇新建項目-----選擇類庫。(備注下右上角是你建立的版本是3.5 的還是2.0的)
同理重命名Test_Dal,路徑不需要修改。
點擊確認 如下圖
空白處多了一個Test_Dal
第三步:建立一個Test_Bll 業務邏輯層同理上面的Test_Dal的建立。如下圖
然后確認提交:這樣就建立了數據層 和 業務邏輯層。
第三步:我們這個地方以新建一個web網站為例子講解說明,至於windows窗體應用程序的例子是一樣得。
(1) 右鍵解決方案---添加----新建項目---選擇Web---Asp.net web 應用程序如下圖:
(2) 確認提交然后出現下圖:
這樣的傳統的三層已經建立好了第一步,第二步如何建立之間的關系。
這里再次說明一個就是又封裝了一個層Test_Model ,為什么建立此層一個原因是如果表的字段比較多,我們傳參數太多不易書寫,第二個這樣分比較清晰的認識數據庫結構。
Test_Model的建立過程,和Test_BLL ,Test_Dal完全一樣。
這里不做太多解說,如果要更詳細請加qq 869011220 或者博客留言
最終建立好Test_Model 后的效果圖如下。
上面完成了,三層的各個層次建立,下面是三層如何連貫起來使用。
第四:各層間的引用。
(一)Test_Dal是數據訪問層,肯定是和數據庫最近的一層,而數據庫的鏈接及sql執行有微軟封裝搞定了,所以其不需要引用Test_Bll、Test_USL。但是有個問題是:前台的例如要插入一條數據如何把參數中的值一層層傳到Test_Dal, 這個時候我們得考慮,Test_Model,所以作為數據訪問層,只需引用Test_Model就可以了。
選中Test_Dal 然后右鍵,添加引用彈出如下圖的框,然后選擇Test_Model---點擊確認這樣完成對Test_Model的引用。
(3) Test_Bll 業務邏輯層,其是Test_USL和 Test_Dal的橋梁,Test_Bll要獲得一些方法,從哪兒來呢? 顧名思義,其肯定是Test_Dal寫好的方法,Test_Bll只需要調用即可。
綜上可知道:Test_BLL 需要引用 Test_Dal調用其方法,Test_BLL 引用Test_model,用於參數的傳遞:
步驟:右鍵Test_Bll 添加引用——選擇項目—選擇Test_Dal ,Test_Model,多個同時引用時請按住ctrl按鍵,才可以多選,效果如下圖:
(4) Test_USL 是和前台用戶之間打交道的,首先肯定要獲得用戶的值進行封裝:所以要引用Test_Model, 那如何把方法提交到數據庫呢,這次我們想到了業務邏輯層,業務邏輯層Test_BLL ,然后有其提到給Test_Dal層,這里會有個疑問為什么我不直接提交的Test_Dal呢?何必要中間層呢?
- a. 中間層省咯的話那數據庫訪問層代碼比較多不易查找。
- b. 如果有些方法不需要和數據庫建立關系,只是處理一下完成某個業務。如何還放到Test_Dal這樣代碼也比較復雜。
- c. 這樣的不僅易於維護,而且查找起來方便。
- d. 符合高內聚,低耦合的程序架構,適合分工開發。
綜上可以猜到:Test_Usl 層需要引用 Test_BLL ,Test_Model.
引用的操作步驟如上文的 Test_BLL的引用步驟類似,只是其引用的不同項目。
這樣我們就建立了一個基本的三層了,下面我們用一個例子說明:下三層:
這里用sql2005 進行介紹;
問題一:我們如何讓我們的程序和數據庫建立連接呢?
方法一:大多數框架程序數據庫連接的語句都會配置到web.cofig文件,如果新建的網站,都會自帶一個web.config文件,如果是windows窗體程序沒有web.config文件,你可以右鍵添加一個配置文件,然后寫進去配置連接語句。
配置連接的語句位置及格式如下:
連接語句的是什么意思,網上很多解釋這里不做介紹了。
這樣的話連接語句寫好了,我們如何調用執行該連接語句呢?
Test_Dal是數據訪問層。肯定提交給其訪問操作了。
第一步 Test_Dal如何獲得web.config中的連接字符串呢?
右鍵Test_Dal添加一個Test_Example類。
首先添加引用引用命名空間System.Configuration。
using System.Configuration;
(如何引用:右鍵Test_Dal—添加引用--.NET 找到圖中的文件並引用)
為什么要引用:引用的目的是可以從配置文件讀取鏈接數據庫的字符串。
然后在Test_Example中寫下下面
下一步就是分別在Test_BLL 添加類 B_Login ,在Test_Model中添加M_Login
如下圖
這樣就完成了基本的建立。
現在我們在web頁面畫個登陸框
M_Login 中添加如下代碼 (這個是實體封裝類)
Test_Eample.cs (在Test_Dal中)的代碼如下:
B_Login中添加如下代碼
現在只需要前台的web頁面用方法調用既可以完成:
然后更改web。Aspx頁面調用。
這樣就完成了三層的調用了。
測試通過完成!
以上完成了三層架構的搭建及案例的測試過程。
備注1:數據庫的連接不僅僅可以寫在web.config中,也可以寫到Dal文件中,不過寫到dal文件中,如果你更改了服務器就要重新生成才可以連接成功。這樣不易於維護更新。
備注2:M_Login的參數有可能很多,這個地方只用了2個,沒有體現出起封裝的意義。
備注3:代碼和表現層的書寫也許不夠規范,還請諒解。
備注4:不明白的地方你可以加我qq:869011220 ,912791866.
這個案例的源碼下載也可以聯系我qq。