欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于C#實現(xiàn)的三層架構實例

 更新時間:2014年08月13日 12:03:47   投稿:shichen2014  
這篇文章主要介紹了基于C#實現(xiàn)的三層架構實例,非常實用,需要的朋友可以參考下

本文所述為基于C#實現(xiàn)的三層架構。對于三層的概念查相信大家并不陌生,這里舉一個關于三層的簡單實例,真正看一下它是如何具體實現(xiàn)的.

我們先來一起看看實體類-Model
實質:實體類就是在完成數(shù)據(jù)庫與實體類對應的功能,一個類是一張表,一個屬性是一個字段!

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
 
namespace model 
{ 
  public class User 
  { 
    public User() { } 
    private string _name; 
    public string name 
    { 
      set { _name = value; } 
      get { return _name; } 
    } 
 
  } 
}

再來說明一下,這個實例應用了配置文件來訪問數(shù)據(jù)庫,當然我們在做的時候可以使用SqlHelper,也可以將連接數(shù)據(jù)庫的這些代碼直接放在D層

<add name="ConnectionString" connectionString="Data Source=localhost;Initial Catalog=tester;User ID=sa;Password=123456" providerName="System.Data.SqlClient" /> 
 

三層中的最底層-數(shù)據(jù)訪問層(DAL)  這一層要引用實體類和對Configuration的引用
實質:就是對數(shù)據(jù)庫中的內(nèi)容的增,刪,改,查

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using model; 
using System.Data; 
using System.Configuration; 
using System.Data.SqlClient; 
 
namespace DAL 
{ 
  public class UserDB 
  { 
    public bool User_add(model.User model) 
     { 
       string setting = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); 
       SqlConnection myconn=new SqlConnection(setting); 
       myconn.Open(); 
       SqlCommand cmd=new SqlCommand("insert into dbo.[user]([name]) values(@name)",myconn); 
       cmd.Parameters.AddWithValue("@name", model.name); 
       if (cmd.ExecuteNonQuery()>0) 
       { 
         return true; 
       } 
       else 
       { 
         return false; 
       } 
     } 
  } 
}

三層中的橋梁-業(yè)務邏輯層BLL  這一層需要引用實體類和數(shù)據(jù)訪問層
實質:負責處理U層的問題(本例子主要是對數(shù)據(jù)層的操作)

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using DAL; 
 
namespace BLL 
{   
     public class userBLL 
     { 
      DAL.UserDB db = new UserDB(); 
      public bool addUser(model.User model) 
       { 
        return db.User_add(model); 
       } 
     }   
}

三層中的頂層-表現(xiàn)層UI  這一層要引用實體類和業(yè)務邏輯層
實質:具體解決做什么的問題

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using BLL; 
using model; 
 
namespace 登陸 
{ 
  public partial class Form1 : Form 
  { 
    public Form1() 
    { 
      InitializeComponent(); 
    } 
 
    private void button1_Click(object sender, EventArgs e) 
    { 
      model.User thisUser = new User(); 
       thisUser.name = TB_username.Text.ToString(); 
       BLL.userBLL uB = new userBLL(); 
       if (uB.addUser (thisUser)) 
       { 
        MessageBox.Show ("true"); 
       } 
       else                           
       { 
         MessageBox.Show ("false"); 
       } 
     } 
    } 
  }

三層之間的關系如下圖所示:

解釋:

上述代碼中DAL主要是對數(shù)據(jù)庫中的內(nèi)容的操作,在這里就是向數(shù)據(jù)庫中添加用戶。BLL則主要是調用DAL層的操作,返回DAL層添加用戶的結果(true或者false)。這樣也就是在客戶端與數(shù)據(jù)庫中加了一個中間層,使得兩層的依賴性減小。UI層則主要完成響應用戶的需求,去調用BLL層實現(xiàn)的adduser方法,DAL層就是實實在在做這件事情的操作。

相關文章

  • WPF利用WindowChrome實現(xiàn)自定義窗口

    WPF利用WindowChrome實現(xiàn)自定義窗口

    這篇文章主要為大家詳細介紹了WPF如何利用WindowChrome實現(xiàn)自定義窗口,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2023-02-02
  • C# 參考之訪問關鍵字:base、this

    C# 參考之訪問關鍵字:base、this

    由于靜態(tài)成員函數(shù)存在于類一級,并且不是對象的一部分,因此沒有 this 指針。在靜態(tài)方法中引用 this 是錯誤的。 索引器允許類或結構的實例按照與數(shù)組相同的方式進行索引。索引器類似于屬性,不同之處在于它們的訪問器采用參數(shù)。
    2008-03-03
  • C# 使用Tcp/Udp協(xié)議的示例代碼

    C# 使用Tcp/Udp協(xié)議的示例代碼

    這篇文章主要介紹了C# 使用Tcp/Udp協(xié)議的示例,文中代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-08-08
  • Unity3D制作序列幀動畫的方法

    Unity3D制作序列幀動畫的方法

    這篇文章主要為大家詳細介紹了Unity3D制作序列幀動畫的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#帶你玩掃雷(附源碼)

    C#帶你玩掃雷(附源碼)

    這篇文章主要介紹了C#帶你玩掃雷(附源碼),詳細的介紹實現(xiàn)掃雷的方法,具體一定的參考價值,有興趣的可以了解一下
    2017-10-10
  • Unity實現(xiàn)汽車前后輪倒車軌跡計算

    Unity實現(xiàn)汽車前后輪倒車軌跡計算

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)汽車前后輪倒車軌跡計算,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • DevExpress設置餅狀圖的Lable位置實例

    DevExpress設置餅狀圖的Lable位置實例

    這篇文章主要介紹了DevExpress設置餅狀圖的Lable位置的方法,以實例形式詳細講述了設置餅狀圖的Lable位置具體實現(xiàn)過程,需要的朋友可以參考下
    2014-10-10
  • C#彈出對話框確定或者取消執(zhí)行相應操作的實例代碼

    C#彈出對話框確定或者取消執(zhí)行相應操作的實例代碼

    這篇文章主要介紹了C#彈出對話框確定或者取消執(zhí)行相應操作的實例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 深入多線程之:內(nèi)存柵欄與volatile關鍵字的使用分析

    深入多線程之:內(nèi)存柵欄與volatile關鍵字的使用分析

    本篇文章對內(nèi)存柵欄與volatile關鍵字的使用進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • 將DataTable轉換成List&lt;T&gt;實現(xiàn)思路及示例代碼

    將DataTable轉換成List&lt;T&gt;實現(xiàn)思路及示例代碼

    首先,這是我寫的一個通用轉換類,完成此類操作。也是實現(xiàn)這個功能最核心的部分。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-11-11

最新評論