為初學者寫三層,三層的搭建和測試例子


三層搭建過程

 

第一步打開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呢?何必要中間層呢?

  1. a.       中間層省咯的話那數據庫訪問層代碼比較多不易查找。
  2. b.      如果有些方法不需要和數據庫建立關系,只是處理一下完成某個業務。如何還放到Test_Dal這樣代碼也比較復雜。
  3. c.       這樣的不僅易於維護,而且查找起來方便。
  4. 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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM