浅析三层架构

1、  什么是三层

         所谓三层架构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。

         通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

         表现层(UI):通俗讲就是展现给用户的界面,向用户展现特定业务数据,采集用户的输入信息和操作。

         业务逻辑层(BLL):负责关键业务的处理和数据的传递。从DAL中获得数据,以供UI显示,从UI中获得用户指令和数据,执行业务逻辑,从UI中获取用户指令和数据,通过DAL写物数据源。

         数据访问层(DAL):和数据打交道,只关注数据的操作(Select、Insert/Update、Delete)。

         三层之间有存在非常强的依赖关系

                                                                            

         2、  为什么要使用三层

         背景

         以前的按功能模块一般是几个人将项目的功能模块一分,每个人从操作数据库、完成业务逻辑到实现界面都要独自完成,当然数据库的设计是由一个人完成。

         弊病

         首先每个开发人都需要掌握大部分技术,还要有很强的业务逻辑的理解能力,其次每个人的开发习惯都不同,形成的代码繁杂可读性差,最后后期的完善、维护都会造成麻烦。

         原因

         将软件开发分层,其实可以简单的理解为工种分层、规范代码,基本可以将工作分为界面设计人员、业务实现人员、数据库设计人员。

         界面设计人员的工作就是制作程序界面然后将信息提交给业务层,不需要考虑业务层的逻辑关系,业务实现人员的工作是处理界面提交的数据请求完成逻辑流程,再结合数据访问层,不用考虑界面设计的样式、风格,也不用考虑数据库的格式,数据访问层一般是设计完善的架构系统,基本不需要人员工作,主要是屏蔽掉数据库间的差异,为业务层提供便捷的操作功能,数据库设计人员就是设计、规划数据库。

         很显然一个团队采用多层开发就可以合理的分配人员工作,将每个人放置到适合的岗位上,而主要的技术人员集中在关键部位的开发工作,重复简单的劳动,如画界面就可以安排给新手来完成。

         3、  什么情况下需要三层

         对于一个简单的应用程序来说,代码量不是很多的情况下,一层结构或二层结构开发完全够用,没有必要将其复杂化,如果对一个复杂的大型系统,设计为一层结构或二层结构开发,那么这样的设计存在很严重缺陷,这时我们就需要用到三层架构了。

         4、  结语

         刚刚接触到三层还没有具体的应用,博文中的一些理论知识也大多来自前辈们智慧的结晶,在接下来的机房收费系统中需要好好实践一下,同时之前学习过的设计模式也可以得到很好的历练。

                                                                                      

时间: 2024-12-17 19:46:28

浅析三层架构的相关文章

三层架构(一)——什么是三层架构?

 一.什么是三层架构?   1.概念   三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了"高内聚,低耦合"的思想.    分层(tier) 概念 表现层(UI) 通俗讲就是展现给用户的界面,用于显示数据和接受用户输入的数据:即用户在使用一个系统的时候他的所见所得. 业务逻辑层(BLL) 针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理.是表

NET高级开发一:用VB.net+ADO.NET+SQLServer开发三层架构的运用程序

ado|server|sqlserver|程序|高级|架构      NET高级开发一:用VB.net+ADO.Net+SQL Server开发三层架构的运用程序 一:什么是三层体系结构:    三层体系结构,顾名思义,我们将运用程序从整体上分为三个独立而又彼此相关联的层次,这三层分别是:用户层.业务逻辑层.数据层 .用户层就是运用程序与用户的操作接口,比如说:网页.在用户层,常用到的技术如:HTML.CSS.JavaScript.ASP/asp.net等.业务逻辑层 就是将一些业务处理的逻辑与

企业级应用框架:三层架构之解耦

前言 前段时间朋友拿了个网站给我,让我帮忙添加几个小功能,我爽快的答应了,但是当我打开源码,我瞬间就奔溃了,整个项目连最基本的三层框架也没有搭建,仅仅是封装了一个sqlhelp作为数据库的操作接口,项目中的SQL查询语句无处不在,业务逻辑紧紧耦合在UI逻辑中,看到这样的代码,坦白来说,我什么兴致都没有了,但是碍着人情,我硬着头皮,把基本功能的完成交差,通过这件事情,我对软件分层进行了深入的思考. 三层架构 说到三层架构,大伙都很熟悉,我也不再多啰嗦了,我们直接快速搭建一个. 项目的引用关系是:S

C#里用三层架构开发应用系统的优势是什么

首先看一下三层架构的组成: 一:界面层 界面层提供给用户一个视觉上的界面,通过界面层,用户输入数据.获取数据.界面层同时也提供一定的安全性,确保用户有会看到机密的信息. 二:逻辑层 逻辑层是界面层和数据层的桥梁,它响应界面层的用户请求,执行任务并从数据层抓取数据,并将必要的数据传送给界面层. 三:数据层 数据层定义.维护数据的完整性.安全性,它响应逻辑层的请求,访问数据.这一层通常由大型的数据库服务器实现,如Oracle .Sybase.MS SQl Server等. 下面是三层架构的优势分析:

如何在ASP.NET中使用三层架构

  学ASP.NET都知道它的最经典的架构是三层架构,也是目前应用得最广泛的一种架构.以前说起三层架构大家都知道MVC架构,这是html开发中用得比较多的,现在AJAX主要就是用这种架构.大家ASP.NET的三层是指数据访问层,业务逻辑层和表示层,而且都知道数据访问层是用来访问数据的,业务逻辑层是用来处理一些系统的业务逻辑的,表示层就是把内容呈现出来给用户,与用户进行交互的.划分三层的好处就是每一层都是独立的,修改其中一层一般不会影响其他层的代码,这样就大大的方便了日后的维护和升级.它最大的缺点

数据连接的初始化-三层架构编程,数据库连接初始化

问题描述 三层架构编程,数据库连接初始化 BOOL CDALApp::InitInstance() { CWinApp::InitInstance(); m_DALAdo.OnInitADOConn() g_AdoObject=m_DALAdo; m_OutPutDAO=new DAOFactory(); return TRUE; } 如上代码所示,不知为何进入到这一句时 hr = CoCreateInstance(rclsid, pOuter, dwClsContext, __uuidof(I

ASp.net 剖析三层架构

转自:http://blog.sina.com.cn/s/blog_5ea9354f0100dea0.html 三层实现的留言和查看留言 本文不是从理论的角度来探讨三层架构,而是用一个示例来介绍如何建设一个三层架构的项目,并说明项目中各个文件所处的层次与作用.写本文的目的,不是为了说明自己的这个方法有多对,别人的肯定不对,而是希望给那些初学三层架构却不知从何入手的朋友提供一点帮助.因为网上的文章,大多是注重理论的介绍,而忽略了具体的实践应用,或者有示例但讲得不透彻.导致看了之后,理论上又学习了一

三层架构的学习

为什么要使用三层架构 对于一个简单的应用程序来说,代码量不是很多的情况下,一层结构或二层结构开发完全够用,没有必要将其复杂化,如果对一个复杂的大型系统,设计为一层结构或二层结构开发,那么这样的设计存在很严重缺陷.下面会具体介绍,分层开发其实是为大型系统服务的.在开发过程中,初级程序人员出现相似的功能经常复制代码,那么同样的代码写那么多次,不但使程序变得冗长,更不利于维护,一个小小的修改或许会涉及很多页面,经常导致异常的产生使程序不能正常运行.最主要的面向对象的思想没有得到丝毫的体现,打着面向对象

.NET三层架构解析

  三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了"高内聚,低耦合"的思想. 内聚:一个模块内各个元素彼此结合的紧密程度:耦合:一个软件结构内不同模块之间互连程度的度量 1.表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得.界面层提供给用户一个视觉上的界面,通过界面层,用户输入数据.获取数据.界面层同时也提供一定的安全性,确