Asp.Net三层体系结构应用实例(附C#源代码)
Asp.Net三层体系结构应用实例(附C#源代码)
随着互连网应用深入和普及,三层体系结构的应用模式也得到更多人的青睐。从Asp.net启蒙认识PetShop及Duwamish程序,给我极深刻印象。受这些程序的影响似乎形成了一种规范,最后所有人都按照这两个模型去仿造。PetShop及Duwamish适合有编程基础的人员去研究。初学者还是从最基础学起。在这里我简单介绍一下三层结构应用,并结合一个实例如何建立三层结构的ASP.NET应用程序。
三层结构简介
所谓三层即界面展示层/业务逻辑层/数据访问层。
a.界面展示层 Web User Interface,简称UI
界面展示层:所有网页,窗体,与用户交互的界面。该层负责显示数据,输入数据,显示报表等功能。
展示层的代码相当简单,如显示由业务逻辑层返回的数据,操作界面上的控件,设置界面颜色,形状,皮肤等代码。但不负责业务操作如数据校验,逻辑运算,算法等功能。
b.业务逻辑层 Business Logic Layer (BLL)
业务逻辑层负责处理业务,数据校验,逻辑运算,返回数据交给界面展示层等功能。逻辑层代码会是较多的。但它莫大贡献是分离了界面层的代码。由初学者万物归一体的设计概念将界面代码与业务代码统统写在一个窗体,但后来发现代码越来越复杂,天天要拆蜘蛛网。于是有人想把一部分代码分离出来单独封装在某个地方,通过分类整理,于是逻辑层就产生了。初学者经常会犯这个错,我们能理解。任何高级程序员都是从初学者演变的。只有通过学习和进化思想才会走完初级,中级,高级这个过程。
c.数据访问层 Data Access Lay (DAL)
封装所有与数据库操作的代码。数据访问层集合SQL语法,存储过程,函数,视图,字段,类型等相关信息。那为什么不把这些代码写在业务逻辑层呢?要弄懂这个概念如上面所说的还要以大化小,以小化无,物以类聚! 把相关类似功能集合在一起便于管理阅读和修改。程序本身是一堆代码的集合体,如果任何东西都凑一块是最糟糕的事。所以我们要学会分离,整理和归纳。假设某一天项目经理要求将UserID字段改为x9s8d为了避免黑客猜测字段。那么你只需要在数据访问层搜索UserID替换之,而丝毫不影响业务逻辑层及界面展示层的代码!
通过三层架构图和ASP.NET实例程序框架图可以看出各层次之间的互动关系。
|
id |
项目名称 |
描述 |
用途 |
引用关系 |
实例文件 |
相关方法 |
|
1 |
Web UI |
界面展示层 |
Web页面和控件 |
引用BLL,Models |
Default.aspx Default2.aspx |
Login(),AddUser(), |
|
2 |
BLL |
业务逻辑层 |
负责登录,注册用户,获取用户列表等业务操作 |
引用DAL,Models |
bllUser.cs, UserRole.cs |
Login(),AddUser(), ValidateLogin(), |
|
3 |
Models |
业务实体类 |
定义对象实体类 |
无 |
TUser.cs |
|
|
4 |
DAL |
数据访问层 |
调用DataProvider 相关方法修改或获取数据。 |
Models |
DataProvider.cs dalUser.cs |
Login(),AddUser(), ExistsUser() |
|
DataProvider |
数据提供者 |
操作Access数据库,将数据返回DAL调用方法。 |
System.Data.OleDb |
DataProvider.cs |
CreateConnection(), GetTable(),ExecScalar(), ExecNoQuery() |

C#源码-[博客空间]X3BLOG(ASP.NET开源多用户博客系统) 1.1.0 beta1 源代码_x3blog-源码下载
[原创] Asp.Net三层体系结构应用实例(2)源代码
编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root
软件开发与设计 - BBS-电子布告栏系统-[论坛社区]Asp.Net Forums v2.3.2130 官方中文版
Asp.Net(C#)发送带有附件及显示图片的邮件
ASP.NET修改WebService开发环境的端口
C#,Asp.Net多线程断点续传下载
1.1 什么是ASP.NET / WebAPI / MVC?|C/S开发框架
C/S快速开发框架 | 源代码命名规范|软件手册
C# ASP.NET使用ashx一般处理程序实现上传文件功能-C/S开发框架
在ASP.NET Core web API中使用Swagger/OpenAPI(Swashbuckle)-C/S开发框架
ASP.NET MVC快速入门(一)-C/S开发框架
ASP.NET Web API入门介绍(一)-C/S开发框架
ASP.NET Core中使用滑动窗口限流-C/S开发框架
ASP.NET IIS程序池被回收导致网站打开慢,IIS配置启用预加载模式-C/S开发框架
ASP.NET Web开发框架, B/S架构软件快速开发平台
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
