基於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層就是實其實在做這件工作的操作。