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

基于C#實(shí)現(xiàn)的三層架構(gòu)實(shí)例

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

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

我們先來(lái)一起看看實(shí)體類(lèi)-Model
實(shí)質(zhì):實(shí)體類(lèi)就是在完成數(shù)據(jù)庫(kù)與實(shí)體類(lèi)對(duì)應(yīng)的功能,一個(gè)類(lèi)是一張表,一個(gè)屬性是一個(gè)字段!

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; } 
    } 
 
  } 
}

再來(lái)說(shuō)明一下,這個(gè)實(shí)例應(yīng)用了配置文件來(lái)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),當(dāng)然我們?cè)谧龅臅r(shí)候可以使用SqlHelper,也可以將連接數(shù)據(jù)庫(kù)的這些代碼直接放在D層

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

三層中的最底層-數(shù)據(jù)訪(fǎng)問(wèn)層(DAL)  這一層要引用實(shí)體類(lèi)和對(duì)Configuration的引用
實(shí)質(zhì):就是對(duì)數(shù)據(jù)庫(kù)中的內(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è)務(wù)邏輯層BLL  這一層需要引用實(shí)體類(lèi)和數(shù)據(jù)訪(fǎng)問(wèn)層
實(shí)質(zhì):負(fù)責(zé)處理U層的問(wèn)題(本例子主要是對(duì)數(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  這一層要引用實(shí)體類(lèi)和業(yè)務(wù)邏輯層
實(shí)質(zhì):具體解決做什么的問(wèn)題

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"); 
       } 
     } 
    } 
  }

三層之間的關(guān)系如下圖所示:

解釋?zhuān)?/p>

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

相關(guān)文章

最新評(píng)論