程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 基於C#完成的三層架構實例

基於C#完成的三層架構實例

編輯:C#入門知識

基於C#完成的三層架構實例。本站提示廣大學習愛好者:(基於C#完成的三層架構實例)文章只能為提供參考,不一定能成為您想要的結果。以下是基於C#完成的三層架構實例正文


本文所述為基於C#完成的三層架構。關於三層的概念查信任年夜家其實不生疏,這裡舉一個關於三層的簡略實例,真正看一下它是若何詳細完成的.

我們先來一路看看實體類-Model
本質:實體類就是在完成數據庫與實體類對應的功效,一個類是一張表,一個屬性是一個字段!

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

再來講明一下,這個實例運用了設置裝備擺設文件來拜訪數據庫,固然我們在做的時刻可使用SqlHelper,也能夠將銜接數據庫的這些代碼直接放在D層

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

三層中的最底層-數據拜訪層(DAL)  這一層要援用實體類和對Configuration的援用
本質:就是對數據庫中的內容的增,刪,改,查

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

三層中的橋梁-營業邏輯層BLL  這一層須要援用實體類和數據拜訪層
本質:擔任處置U層的成績(本例子重要是對數據層的操作)

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

三層中的頂層-表示層UI  這一層要援用實體類和營業邏輯層
本質:詳細處理做甚麼的成績

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重要是對數據庫中的內容的操作,在這裡就是向數據庫中添加用戶。BLL則重要是挪用DAL層的操作,前往DAL層添加用戶的成果(true或許false)。如許也就是在客戶端與數據庫中加了一個中央層,使得兩層的依附性減小。UI層則重要完成呼應用戶的需求,去挪用BLL層完成的adduser辦法,DAL層就是實其實在做這件工作的操作。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved