对于三层的概念查也查了,看也看了,下面是我找的一个关于三层的简单实例,真正看一下它是如何具体实现的.
我们先来一起看看实体类-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"); } } } }三层之间的关系:
新闻热点
疑难解答