.NET应用三层架构分析
2019独角兽企业重金招聘Python工程师标准>>>
近来在做一个.NET的项目,使用C#进行开发。项目采用常用的三层架构,稍微调查了一下,发现所接触到的.NET的项目基本都是采用这种架构,于是也来分析一下这种常见的三层架构的含义、特点以及优缺点。
.NET中的三层架构,通常是指表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL),
偶尔也会加上实体类库(Model)。
表现层(UI)有时也会成为视图(VIEW),主要包括数据的呈现、UI的控制等,不涉及具体的业务逻辑,仅负责单纯的表示。业务逻辑层(BLL)主要负责业务逻辑和数据的编辑处理,复杂的业务处理主要放在这一层。数据访问层(DAL)则是负责对数据源进行访问和修改等处理,并将取得的数据返回到业务逻辑层(BLL)。
三层架构的推出,有以下的目标。
一、修改维护的简便性。
一些修改或者变更,可以集中在其中一层进行,进行局部而不是全局的修改,可以尽量将影响范围缩小。
二、处理的分布式处理。
处理分成三层了,结构也就可以分散了,可以在一台机器上运行,也可以分布在多台机器上运行,
有利于灵活部署系统。
正是三层架构的这种针对性的目标,也便有了随之而来的优缺点。
优点
1、便于作业分割,开发人员可以只关注整个结构中的其中某一层;
2、便于处理的替换,可以很容易的用新的实现来替换原有层次的实现;
3、便于逻辑的解耦,可以降低层与层之间的依赖;
4、便于各层逻辑的复用;
5、便于修改维护,降低了维护成本和维护时间。
缺点
1、降低了系统的性能。本来可以直接访问数据的处理,现在需要通过中间层进行。
2、有时会导致级联的修改。在表现层需要增加一个功能,可能也要增加逻辑层和数据访问层的代码。
3、通常会有很多重复性的代码。
如果系统比较简单,三层可以放在同一台机器上;如果稍微复杂一些的,可以将表现层(UI)放在客户端,业务逻辑层(BLL)和数据访问层(DAL)放在服务器端,采用C/S或者B/S的方式部署;更复杂一些的,也可以将数据库再单独放在专用的服务器上,在服务器端增加缓存和负载平衡等部件。
转载于:https://my.oschina.net/u/265105/blog/806254
.NET应用三层架构分析相关推荐
- Django——WEB三层架构与MVC
而我发此文的目的有二:一者,让初学者能够听到一家之言,是为解惑:二者,更希望抛砖引玉,得到专家的批判. 许多学生经常问我,MVC到底和WEB三层架构有啥关系? 开始时,我也只能给他们一些模糊的回答.时 ...
- 三层架构 || SpringMVC 和 Struts2 的优略分析
我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就是浏览器服务器.在 JavaEE 开发中,几乎全都是基于 B/S 架构的开发.那么在 B/S ...
- 三层架构(我了解并详细分析)
三层架构已经学到了一些时间,一直想做一个比較完整.比較完美的总结.可是左思右想,不知道怎样下笔.都说万事开头难嘛.今天整理了一下凌乱的思路.哎,还是没整理好,想到哪就说到哪吧. 刚開始学习的人非常不理 ...
- 三层架构(我的理解及详细分析)
三层架构已经学了一段时间,一直想做一个比较完整.比较完美的总结.但是左思右想,不知道如何下笔.都说万事开头难嘛,今天整理了一下凌乱的思路,哎,还是没整理好,想到哪就说到哪吧. 初学者很不理解: 1,什 ...
- 趣味理解:三层架构与养猪—《.NET深入体验与实战精要》
为了更好地让初学者轻松入门,这里仍然采用趣味性的方式聊一些常用技术点,致力于.NET新手们的快速提高!知识都是普通的,关键是学习的思路.技术源于生活,技术原来可以这样学.抛砖引玉而已. 层次结构在现 ...
- 解析三层架构(1)---为什么要分层?
随着分层设计的进行,对分层逐渐有了更深的了解.准备利用几篇文章,深度的分析一下分层设计. 我这里的题目之所以叫三层架构,不一定代表着系统就是三层.古语中三为多.这里的三层也可能是 四层,五层 或者更多 ...
- .从三层架构到MVC,MVP
从三层架构到MVC,MVP http://www.cnblogs.com/daizhj/archive/2009/04/30/1447035.html 一. MVC是谁提出的 模型-视图-控制器(MV ...
- 也谈TDD,以及三层架构、设计模式、ORM……没有免费的午餐,选择了,必付出代价...
想在园子里写点东西已经很久了,但一直没有落笔,忙着做 一起帮 的开发直播,还有些软文做推广,还要做奶爸带孩子,还要--好吧,我承认,真正的原因是: 太特么的难写了! 但再难写也要写啊,要等到" ...
- c#利用三层架构做一个简单的登录窗体
就个人而言,三层架构有点难理解,不知道该如何下手,各层与各层之间怎么调用 最近一直在研究三层架构,经过网上学习与多方打听写一下自己的心得.有不足之处,可以评论和私聊探讨 言归正传: 三层架构(3-ti ...
最新文章
- eeglab教程系列(6)-提取数据epoch
- ITRON系统使用方法
- 多少分才能考上重庆计算机学校,重庆多少分能上985大学?重庆985院校分数线是多少?(2021年参考)...
- 使用LiveNVR实现将RTSP转RTMP、FLV、HLS,实现监控摄像头无插件直播
- 16位汇编 loop循环
- Linux破解系统管理员密码
- 确定最小的正整数n,使得n!的结尾恰好有1987个0
- C# SerialPort 读写三菱FX系列PLC
- uipath循环datatable_UiPath之DataTable转换为List和Array
- Alter操作(修改列名,修改列数据类型,增加列,删除列,增加列且设为主键及对默认值操作)
- 读《VBScript程序员参考手册》,做的笔记
- 个人总结 - JS逆向解析
- phaser3 之 this.add.add.image
- ‘couldn‘t find a common superview for 问题记录
- 提升自我的42个实用技巧
- ios 简单的单元测试
- Unity 3D模型展示之控制标注
- 微信ios上下拉网页禁止
- ZT 王国维先生“人生三大境界”的具体含义是什么?
- JavaScript slice( )、splice( )、split( )