广州.NET培训之.NET开发中什么是三层架构

原创 2013年12月02日 11:18:53

 广州.NET培训之.NET开发中什么是三层架构

  昨天和一位.NET训练营同学解释三层时,发现同学对于三层的概念还是比较模糊,也可能是我解释不好,我就以文字的方式将自己的思路整理一下。

  三层在.NET开发体系中算是一个比较重要的概念,如果将这个理解透彻了,那么将来不管是三层也好,还是N多层,都不是问题。
 
  所谓三层架构,是在界面与数据库之间加入了一个“中间层”,也叫逻辑层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。
 
  在项目开发的过程中,有时把整个项目分为三层架构,其中包括:表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。三层的作用分别如下: 
 
  表现层:为用户提供交互操作界面,这一点不论是对于Web还是WinForm都是如此,就是用户界面操作。我们网站展示给用户看的界面。
 
  业务逻辑层:负责关键业务的处理和数据的传递。复杂的逻辑判断和涉及到数据库的数据验证都需要在此做出处理。根据传入的值返回用户想得到的值,或者处理相关的逻辑。
 
  数据访问层:见名知意,负责数据库数据的访问。主要为业务逻辑层提供数据,根据传入的值来操作数据库,增、删、改或者其它。
 
  以下我简单介绍下一个用户管理模块:
 
  为了整个项目的开发方便,我们在项目中会建几个项目,BLL,DAL,MODEL和一个Web网站。为了命名清晰,我们可以这样命名这个三个工程(即在解决方案里添加的类库):
 
  业务逻辑层(BusinessLogicLayer):BLL,命名空间默认设置为BLL
 
  数据访问层(DataAccessLayer):DAL,命名空间默认设置为DAL
 
  另外我们为了数据传递的方便,通常再添加一个项目,这个项目是贯穿于整个三层架构中的。即实体层。通常命名为MODEL,命名空间默认值设置为:MODEL。其中封装的每个类都对应一个实体,通常就是数据库中的一个表。如数据库中的用户表(users)封装为(users),将表中的每个字段都封装成共有的属性。
 
  而他们之间的引用关系就是 表现层引用业务逻辑层(BLL)和实体层(MODEL),业务逻辑层引用数据访问层(DAL)和实体层(MODEL),数据访问层(DAL)引用实体层(MODEL)即可。
 
  这样三层架构的搭建就基本完成了。这三层有着非常强的依赖关系:
 
  表示层 ← 业务逻辑层 ← 数据访问层
 
  他们之间的数据传递是双向的,并且通常借助实体层传递数据。
 
  那么三层架构都有哪些优点呢:
 
  1、易于项目的修改和维护。在项目的开发过程中或者开发后的升级过程中,甚至在项目的移植过程中。这种三层架构是非常方便的。比如项目从Web移植到Form,我们只需要将表示层重新做一遍就可以了。其余两层不用改动,只需添加到现有项目就可以了。如果不采用这种架构,只是将代码写到表示层。那么所有的编码几乎都要重新来了。
 
  2、易于扩展。在功能的扩展上同样如此,如有功能的添加只需把原有的类库添加方法就可了
 
  3、易于代码的重用。这一点就不用解释了。
 
  4、易于分工协作开
 
  其实,当我们做一个项目时,我们应该先考虑一下这个项目是不是应该应用三层/多层设计时, 先得考虑下是不是真的需要? 实际上大部分程序就开个WebApplication就足够了, 完全没必要作的这么复杂. 而多层结构, 是用于解决真正复杂的项目需求的。更多关于广州.NET培训知识请关注广州传智播客官方微信号(gzitcast)
   

【ASP.NET开发】.NET三层架构简单解析

这篇文章本来应该很早就写出来的,但是一直苦于自己的精神能力有限,而且已经到了我们学校的考试周,所以时间上还是有点紧迫。关键的一点就是,找不到合理的思路来写,思路没有的话,就算是再好的素材,也写不来大家...
  • yisuowushinian
  • yisuowushinian
  • 2013年01月16日 18:05
  • 13831

.net中的三层架构简介

三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想...
  • Vikerfeng
  • Vikerfeng
  • 2014年03月16日 13:25
  • 3159

ASP.NET实现三层架构网站创建流程

1.新建项目—>Visual C#—>Web—>ASP.NET空Web应用程序  或者  新建网站—>ASP.NET空网站 2.在解决方案处右击—>新建项目—>Windows—>类库,分别创建三层架...
  • u011028345
  • u011028345
  • 2017年05月02日 14:41
  • 3084

.NET三层构架开发实例

三层 技术 实例
  • fengqingtao2008
  • fengqingtao2008
  • 2011年01月13日 10:26
  • 9418

什么是.net三层架构

三层架构     三层架构(3-tier application) 一个三层架构的应用程序由三部分组成,这三部分各自分布在网络中的不同地方。这三个部分分别是:工作站或表示层接口、事务逻辑、数据库以及与...
  • lai123wei
  • lai123wei
  • 2008年08月05日 19:15
  • 753

简单的.NET三层框架的实现(学生作业管理系统)

三层架构,也有人叫做三层结构,是一种软件架构。 三层架构主要包括了表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这样的方式将软件开发进行分层,每层之间的分工是相对的比较明确的,而且很...
  • hurrycxd
  • hurrycxd
  • 2015年07月14日 22:29
  • 3478

ASP.NET三层架构DAL层连接数据库的方法

 【转自】 http://zhidao.baidu.com/question/100925344.html --问题:ASP.NET三层架构DAL层连接数据库的方法本人初步接触ASP三层,我知道如果在...
  • gxj022
  • gxj022
  • 2009年08月18日 20:21
  • 1894

.Net能做什么开发

上篇文章《学.Net还是学Java?》中我阐述了不同语言学习的不同点,如果你开始决定学习.Net了,那么你的下一个问题很可能是“学了.Net我能做什么?”。 .Net目前主要的开发方向是:Web开发...
  • kiqiNie
  • kiqiNie
  • 2012年11月02日 14:15
  • 1020

asp.net简单的注册或者登陆三层架构的例子

模型层private int userId;        public int UserId        {            get { return userId; }          ...
  • judyge
  • judyge
  • 2015年10月27日 08:21
  • 859

广州.Net培训 最好.Net培训机构

广州.Net培训   最好.Net培训机构     学.Net,首先要有一个好的培训机构,才能把你想要学的东西学到手。当然,看一个好的.Net培训首先看它的师资学风以及口碑。   ...
  • u010395024
  • u010395024
  • 2014年04月08日 16:27
  • 319
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:广州.NET培训之.NET开发中什么是三层架构
举报原因:
原因补充:

(最多只允许输入30个字)