惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
The Register - Security
The Register - Security
S
Secure Thoughts
有赞技术团队
有赞技术团队
Hacker News - Newest:
Hacker News - Newest: "LLM"
月光博客
月光博客
Engineering at Meta
Engineering at Meta
www.infosecurity-magazine.com
www.infosecurity-magazine.com
WordPress大学
WordPress大学
N
News | PayPal Newsroom
F
Fortinet All Blogs
Forbes - Security
Forbes - Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Y
Y Combinator Blog
L
LINUX DO - 最新话题
Google Online Security Blog
Google Online Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
阮一峰的网络日志
阮一峰的网络日志
Application and Cybersecurity Blog
Application and Cybersecurity Blog
V2EX - 技术
V2EX - 技术
H
Heimdal Security Blog
G
Google Developers Blog
Vercel News
Vercel News
Martin Fowler
Martin Fowler
TaoSecurity Blog
TaoSecurity Blog
腾讯CDC
Cyberwarzone
Cyberwarzone
罗磊的独立博客
S
Securelist
T
Tor Project blog
Recorded Future
Recorded Future
小众软件
小众软件
Attack and Defense Labs
Attack and Defense Labs
L
LINUX DO - 热门话题
The Cloudflare Blog
爱范儿
爱范儿
S
Security @ Cisco Blogs
雷峰网
雷峰网
Schneier on Security
Schneier on Security
T
The Blog of Author Tim Ferriss
Google DeepMind News
Google DeepMind News
S
Schneier on Security
大猫的无限游戏
大猫的无限游戏
Recent Announcements
Recent Announcements
Blog — PlanetScale
Blog — PlanetScale
D
Docker
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell
Latest news
Latest news
M
MIT News - Artificial intelligence

博客园 - 黑*马

和老外吵架必备的108句英语! Sql server常见性能问题的总结 asp.net2.0导出pdf文件完美解决方案(转载) c#.net在WEB页中设置COOKIES - 黑*马 - 博客园 (转)asp.net 2.0中页的生存周期(Lifecycle)和动态控件 我来试试trackback的用法 PetShop介绍集锦 C#基础概念二十五问(转) [转贴]GOF 23种模式MM版 in和exists的区别与SQL执行效率分析 Transact-SQL语句总汇 ASP.NET里的事务处理(ado.net 数据库应用) 后台脚本实现页面在target中的打开,以及target属性 什么是用户体验(ue),以及用户体验的关键 网站架构 什么是Web 2.0(与Web 1.0比较)简单版 微软吹大话?SP1并没提高Windows Vista运行速度 xml学习:有什么优势和特点及常见问答加深理解 你真的了解四核处理器吗?告诉你十点
.net 三层结构基础理论知识(高手勿进)
黑*马 · 2007-12-10 · via 博客园 - 黑*马

三层,一般包含:

数据访问层:也叫 DataAccess层、DAL(DataAccess Layer层),这一层的工作就是与数据库或其它文件打交道,

业务逻辑层:也叫中间层,Bussiness Logical layer,也可说是Bussiness Rule(业务规则),这一层是处理业务逻辑的。

外观层:

Presentation Layer,这一层主要是与用户打交道,也就是界面。比如是Web,也可能是WinForm.

打个比方来说,你要做一个简单的功能:往数据库里插入一条学生记录

外观层:只是处理你的界面应该怎么展示,比如控件的布局,还有一个主要的就是把界面上控件内的数据读取下来。这一层主要做的事情,就是从外部获取数据,当然还有一些简单的判断,比如判断那些数据是不能为空的,必须输入。
然后调用中间层的一个访问,通过参数的形式转过去。

中间层的接到从外观屋传来的数据,这里就做业务辑逻的判断。比如判断只有20岁以上的人才能保存在数据库等,反正这里是关心业务的,通过业务逻辑层的数据,就调用数据访问层的方法

数据访问层只做与数据库打交道的工作(也可以是与文件打交道,毕竟保存数据的地方不只有数据库)。数据库访问层不会对业务逻辑做过多的判断,他的任务就是为了把中间层传过来的数据如果保存在数据库中。

三层框架只是一种思想,就是任务职责的分解。

简单的说,你可以用三个函数(function)来实现,

比如fun1的任务是把界面上的数据读取两个数字中,然后把这两个数据传给fun2,他不管fun2拿这两个数据来干什么的。

fun2的任务就是把这两个数字相减或相加,fun1和fun3是不管的(这一层是的操作是根据你的具体业务来)。

第三个fun3的任务就是访问数据库,把fun2操作运算过的一个数字保存到数据库中

再大一点,你可以用三个类来分开实现

再大一点来说,你可以建三个不同的项目来实现(企业级架构就是这样的)

好了,说了这么多,不如你有没有理解。有问题可以给我留言

参考一下.NET Pet shop 4.0吧,它是基于三层结构的B/S程序,网上有很多相关的介绍。
     下载地址:http://msdn2.microsoft.com/en-us/library/aa479070.aspx
三层架构只是最简单的分层思想,其它的一些N层构架也是从这个基础上延伸的,所以一定要理解好,才能扫平以后的学习障碍。