三层架构实例

三层架构实例

一、新建立一个三层架构体系结构解决方案

原文://http://blog.csdn.net/xjc1278003262/article/details/8867177

新建一个空白解决方案。然后:

1.“添加”-“新建项目”-“Visual C#”-“类库”-“称:LoginBLL”-“业务逻辑”(业务层,下简称B层)如下图:

2.“添加”-“新建项目”-“Visual C#”-“类库”-“名称:LoginDAL”-“数据访问”(数据层,下简称D层)如下图:

3.“添加”-“新建项目”-“Visual C#”-“类库”-“名称:LoginUI”(界面层,下简称U层)如下图:

U层的界面效果图:如下图

4. “添加”-“新建项目”-“Visual C#”-“类库”-“名称:LoginModel”(以下实体层)如下图:

三层建立后的效果图,如下图:

二、引用(关键步骤)

右键点“解决方案”-“添加引用”,设置U依引用D、B,B引用于D。对U添加引用D、B,对B添加引用D。如下图:

引用步骤一:

引用步骤二:

到此为止,一个登录的三层架构的建立起来了。

三、各层实现代码如下

B层代码

[csharp] view plain copy print?

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Login.BLL;
  7. using Login.DAL;
  8. using Login.Model;
  9. namespace Login.BLL
  10. {
  11. public class LoginManager
  12. {
  13. public UserInfo UserLogin(string userName, string password)
  14. {
  15. UserDAO uDao = new UserDAO();  //实例化D层的类
  16. UserInfo user = uDao.SelectUser(userName, password); //将user信息传递给D层
  17. if (user == null)  //判断user信息
  18. {
  19. throw new Exception("登陆失败");
  20. }
  21. else
  22. {
  23. return user;
  24. }
  25. }
  26. }
  27. }

D层代码

[csharp] view plain copy print?

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Login.Model;
  7. using System.Data.SqlClient;
  8. using System.Data;
  9. namespace Login.DAL
  10. {
  11. public class UserDAO
  12. {
  13. //连接数据库
  14. public static string ConnString = @"Server=XJC-PC; Database=chargeStudent; User ID=sa; Password=123456";
  15. public  UserInfo SelectUser(string userName, string password) //各层都要用到实体类userInfo 通过实体类连接
  16. {
  17. using (SqlConnection conn = new SqlConnection(ConnString))
  18. {
  19. SqlCommand cmd = conn.CreateCommand(); //数据库连接命令
  20. cmd.CommandText = @"select * from user_Info where [email protected] AND [email protected]";
  21. cmd.CommandType = CommandType.Text;
  22. cmd.Parameters.Add(new SqlParameter("@userName", userName));
  23. cmd.Parameters.Add(new SqlParameter("@password", password));
  24. conn.Open();
  25. SqlDataReader reader = cmd.ExecuteReader();  //读取数据
  26. UserInfo user = new UserInfo();
  27. while (reader.Read())
  28. {
  29. user.userName = reader.GetString(0);
  30. user.password = reader.GetString(1);
  31. }
  32. return user;
  33. }
  34. }
  35. }
  36. }

U层代码

[csharp] view plain copy print?

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.Data.SqlClient;
  11. using Login.BLL;
  12. using Login.Model;
  13. namespace LoginUI
  14. {
  15. public partial class Form1 : Form
  16. {
  17. public Form1()
  18. {
  19. InitializeComponent();
  20. }
  21. private void btnLogin_Click(object sender, EventArgs e)
  22. {
  23. LoginManager mgr = new LoginManager(); //实例化B层的类
  24. string userName = txtUserName.Text.Trim();
  25. string Password = txtPassword.Text;
  26. UserInfo user = mgr.UserLogin(userName, Password);   //将user信息传递给B层
  27. MessageBox.Show("登陆用户:" + userName);
  28. }
  29. }
  30. }

实体层代码

[csharp] view plain copy print?

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Login.Model
  7. {
  8. public class UserInfo
  9. {
  10. public string userName;
  11. public string UserName
  12. {
  13. get { return userName; }
  14. set { userName = value; }
  15. }
  16. public string password;
  17. public string PassWord
  18. {
  19. get { return password; }
  20. set { password = value; }
  21. }
  22. }
  23. }

四、运行成功的结果图:如下图

以上是我对“三层实例”的真是实现,如有不妥之处,还请指教。

时间: 2024-10-12 14:20:21

三层架构实例的相关文章

C# 最简单的三层架构实例 ——转载自网易博客

代码        /// <summary>        /// 初始化登录名称.登录密码(Model类)        /// </summary>        private string adminUser = string.Empty; //设置用户名称为空值        private string adminPwd = string.Empty; //设置用户密码为空值        public string AdminUser        {       

vb.Net三层架构实例——登录

封装给编程带来的巨大的好处我们已感受到了,面向对象编程思想已经深入人心. 有了面向对象思想做指导,软件得到了迅速 的发展.在这种发展趋势下,三层架构也随之出现了. 从物理结构上来说,三层可以是客户端.应用服务器.数据库服务器.从逻辑上来说是表现层(Presentation layer).业务逻 辑层(Business Logic Layer).数据访问层(Dataaccess layer).区分层次体现了"高内聚低耦合"的思想.在软件体系架构设 中,分层式结构是最常见,也是最重要的一种

温故而知新---浅析三层架构(一个超简单的系统登录三层架构实例)

刚开始接触三层架构是在快两个月前,那时候找了好多例子感觉也都看不怎么懂,今天闲着没事,就把以前学的东西翻出来,算是温习温习.由于本人也接触时间不长,所以以下言论有不正确之处,多多海涵. 首先我们先要知道什么是三层架构,个人理解的三层架构就是将业务分为界面层(UI层),业务逻辑层(BLL层)和数据访问层(DAL层),各层之间各司其职,层层传递信息. 优点是可以达到高内聚,低耦合,修改起来比较容易:缺点是会降低系统性能. UI层:就是面向用户的一层,直接与用户交互. BLL层:用于实现业务逻辑,在U

C#三层架构实例

对于三层的概念查也查了,看也看了,下面是我找的一个关于三层的简单实例,真正看一下它是如何具体实现的. 我们先来一起看看实体类-Model 实质:实体类就是在完成数据库与实体类对应的功能,一个类是一张表,一个属性是一个字段! using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace model { public class User { public User()

JAVA学习笔记(五十三)- 经典三层架构实例

UserDAO接口 /* * UserDAO接口 */ public interface UserDAO { //插入用户 public void insert(User user); //删除用户 public void delete(int id); //更新用户 public void update(User user); //查询所有用户 public List<User> getAllUsers(); //根据用户名或密码查询用户 public boolean checkUser(U

SSH框架整合实现Java三层架构实例(一)

HTML前台发送请求代码: 1 <tr> 2 <td>选择收派时间</td> 3 <td> 4 <input type="text" name="takeTimeId" class="easyui-combobox" required="true" 5 data-options="url:'../../taketime_findAll.action', 6 val

三层架构学习实例

如有雷同,不胜荣欣,如转载,请注明 一.三层架构实例 首先学习三层架构模式­——三层架构实现的留言和查看留言 下面是本人学习三层架构的一点感想和理解,肯定有许多不足的地方,欢迎大家斧正,谢谢,废话到此,下面咱们开始三层架构 大家都知道三层架构分为:1,表示层(UI)2,业务逻辑层(BLL)3,数据访问层(DAL),下面咱们用一个简单的实例,实战三层架构 首先建立一个空白的解决方案,添加如下项目以及文件 1.添加一个ASP.net WebApplication项目,命名为UI,新建WebForm类

三层架构入门实例

三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了"高内聚,低耦合"的思想. 首先我们先用一组生活中的图片来说明三层的重要性.(摘自网络) 生活中的实例  饭店有三个分工,服务员,厨师和采购员 分三层,松耦合,更方便应对变化. 实际这种思想也适用于我们的三层架构. UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理. BLL 负责处理业务逻辑,通过U

三层架构1

一.三层框架 表现层:也叫视图层,用html.css.js.jquery 业务逻辑层:也叫控制层,包含业务逻辑的实现部分 数据管理层:与数据库直接交互的部分 二.组建三层框架(现有实例) 1.数据管理层 A.引入Model类 创建项目之后在项目的同级目录上建立Model的目录,相应的在保存项目的硬盘上也建立Model的目录.然后把Model.Base复制到硬盘上也建立的Model目录下,并在项目的Model下引入硬盘Model.Base线面现有的Model.Base.csproj模块. B.在项