国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

基于C#實現的三層架構實例

2020-01-24 02:31:58
字體:
來源:轉載
供稿:網友

本文所述為基于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層就是實實在在做這件事情的操作。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 津市市| 泸州市| 肇州县| 汾西县| 姜堰市| 威信县| 英吉沙县| 邢台县| 樟树市| 高阳县| 方山县| 株洲县| 南丹县| 夏邑县| 武陟县| 山东| 旺苍县| 海林市| 寿光市| 彭水| 亳州市| 嘉善县| 浠水县| 林芝县| 乐都县| 灵石县| 平陆县| 白水县| 甘泉县| 峡江县| 宁波市| 思茅市| 大同县| 犍为县| 建瓯市| 兴仁县| 习水县| 丹寨县| 沂源县| 郓城县| 嫩江县|