有史以来最简单的三层实例(C#)
生活随笔
收集整理的這篇文章主要介紹了
有史以来最简单的三层实例(C#)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
三層已經學了很久了,一直沒有寫博客是因為自己感覺對三層的理解還太膚淺,怕寫的不對誤導別人。當然就現在我的水平而言對于三層的理解還是不夠深刻,但是我感覺不至于誤導別人了,所以將我對于三層的一些理解寫出來,希望會對和我當初一樣迷茫的菜鳥一些幫助!
?
回想當初我學習三層的時候,在網上尋找關于三層的知識,找到了很多例子,但是感覺它們都有些復雜,不太適合剛剛接觸三層的人學習,所以我決定寫一個簡單的三層實例,下面言歸正傳。
?
簡單的三層劃分:
?
用戶登錄界面:
?
用戶名、密碼輸入正確以后提示登錄成功:
?
下面是UI層的代碼:
?
//單擊登錄按鈕private void btnLogin_Click(object sender, EventArgs e){//聲明一個Bool類型的變量用來接收登錄狀態(是否登錄成功)bool result = false;//判斷用戶名跟密碼是否為空if (txtUserName.Text == ""){MessageBox.Show("用戶名不能為空!");txtUserName.Focus();return;}if (txtPwd.Text == ""){MessageBox.Show("密碼不能為空!");txtPwd.Focus();return;}//聲明一個用戶對象User euser = new User();euser.UserName = txtUserName.Text.Trim();euser.Pwd = txtPwd.Text.Trim();LoginBLL blogin = new LoginBLL();result = blogin.BLogin(euser);//判斷是否登錄成功if (result == true){MessageBox.Show("登錄成功!");}else{MessageBox.Show("登錄失敗!");}}//單擊取消按鈕private void btnCancel_Click(object sender, EventArgs e){this.Close();}?
?
?
下面是BLL(業務邏輯)層的代碼:
?
public class LoginBLL{/// <summary>/// 驗證密碼是否正確/// </summary>/// <param name="User"></param>/// <returns></returns>public bool BLogin(User User){UserDAL duser = new UserDAL();User euser = new User();euser = duser.DLogin(User);if (euser.Pwd == User.Pwd){return true;}else{return false;}}}?
?
?
以下是DAL(數據訪問)層的代碼:
?
public class UserDAL{static string conString = "data source=RONALDINHO-PC;database=charge system;uid=sa;pwd=123456";SqlConnection cnn = new System.Data .SqlClient .SqlConnection (conString);/// <summary>/// 根據輸入的用戶名取出用戶密碼/// </summary>/// <param name="user"></param>/// <returns></returns>public User DLogin(User user){string sqlString = "select * from UserInfo where UserName='" + user.UserName +"'" ;User euser = new User();SqlCommand cmd =new SqlCommand(sqlString, cnn);cnn.Open();SqlDataReader read ;read = cmd.ExecuteReader();read.Read();euser .UserName = read[0].ToString();euser.Pwd = read[1].ToString();return euser ;}}?
?
其實三層理解起來很簡單,就是把不同的責任劃分到不同的層,以達到解耦的目的。分層的目的就是為了讓程序變得高內聚、低耦合,使代碼更加靈活、易擴展,讓代碼更具有易用性等等。說一千道一萬也沒什么作用,只有通過實踐才能更深刻的體會三層的意義,所以希望和我一樣的菜鳥們看完這篇博客就動手去做吧!
?
PS:此博客的題目純屬為了吸引人,我不敢說我寫的這篇博客就是最簡單明了的三層實例,只是把我的理解拿出來跟大家分享一下,所以高手看到后一笑而過就好了,千萬別噴我...
?
?
源代碼下載
from:?http://www.cnblogs.com/liushuijinger/archive/2012/03/12/2391191.html
總結
以上是生活随笔為你收集整理的有史以来最简单的三层实例(C#)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 菜鸟要做架构师(二)——java性能优化
- 下一篇: spring + redis 实现数据的