求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

變更

前往: 導覽搜尋

三层结构

增加 5,379 位元組, 3 個月前
创建页面,内容为“{| class="https://cn.bing.com/images/search?view=detailV2&ccid=n5SQG%2fST&id=4626CC5760FA3A6C25B9583C4E9A49123E51B388&thid=OIP.n5SQG_STVdJoIkxCfaEd0AHaEc&mediaurl=ht…”
{| class="https://cn.bing.com/images/search?view=detailV2&ccid=n5SQG%2fST&id=4626CC5760FA3A6C25B9583C4E9A49123E51B388&thid=OIP.n5SQG_STVdJoIkxCfaEd0AHaEc&mediaurl=https%3a%2f%2fimg.zcool.cn%2fcommunity%2f01201f5e1d7d16a801216518e965b8.jpg%3fx-oss-process%3dimage%2fauto-orient%2c1%2fresize%2cm_lfit%2cw_1280%2climit_1%2fsharpen%2c100&exph=768&expw=1280&q=%e4%b8%89%e5%b1%82%e7%bb%93%e6%9e%84&simid=608018699478978466&FORM=IRPRST&ck=91DCC1B4351446303C952C9488F4B766&selectedIndex=28&itb=0&ajaxhist=0&ajaxserp=0" style="float:right; margin: -10px 0px 10px 20px; text-align:left"
|<center>'''三层结构'''<br><img
src="https://img.zcool.cn/community/01201f5e1d7d16a801216518e965b8.jpg?x-oss-process=image/auto-orient,1/resize,m_lfit,w_1280,limit_1/sharpen,100 " width="280"></center><small> 圖片來自优酷</small>
|}
是在客户端与数据库之间加入了一个中间件层,也叫组件层

三层结构解释 所谓三层[[体系结构]],是在[[客户端]]与数据库之间加入了一个中间件层,也叫组件层。这里所 说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也 不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一 台机器上。 [[三层体系]]的应用程序将业务规则、数据访问、合法性校验等工作放到了中 间层进行处理。通常情况下,客户端不直接与[[数据库]]进行交互,而是通过COM/DCOM通 讯与中间层建立连接,再经由中间层与数据库进行交换。

==基本介绍==
理解三层结构

我们用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级.

三层结构包含:[[表示层]](USL),[[业务逻辑层]]([[BLL]]),[[数据访问层]](DAL)

1:数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不
是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。

2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻
辑处理,如果说数据层是积木,那[[逻辑层]]就是对这些积木的搭建。

3:表示层:主要表示WEB方式,也可以表示成[[WINFORM]]方式,WEB方式也可以表现成

:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地

提供服务。

==区分方法==
1:[[数据访问层]]:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成

各个对数据文件的操作。而不必管其他操作。

2:[[业务逻辑层]]:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。

3:[[表示层]]:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。

==结构说明==
完善的三层结构的要求是:修改表现层而不用修改逻辑层,修改逻辑层而不用修改数据层

.否则你的应用是不是多层结构,或者说是层结构的划分和组织上是不是有问题就很难说.

不同的应用有不同的理解,这是一个概念的问题.

以下是一些个人感想

是的,这是一个比较抽象的问题,但是看看应能明白了.

业务逻辑层,就是把你的代码中大量出现的组合成一个[[函数]],以后当你需要使用这些代码时,直接调用函数即可.比如.NET中有大量连接数据库的代码(基本上都差不多),我们就可以直接用一个用户控件来定义一下这样代码.以后当我们要连接数据库时,直接调用这些函数就可以了.这些东西就可以叫做逻辑或者中间件.以后我们修改数据库的连接代码时,直接修改这些用户控件就可以了.

三层结构不是.NET的专利,也不是专门用在数据库上的技术。它是一种更加普适的架构设计理念。数据-逻辑-界面。在实际应用中还会根据需要多出传递数据的层,接口层等等。

==优缺点==
优点

1、无需开发客户端软件,维护和升级方便。

2、可跨平台操作。

3、具有良好的开放性和可扩充性。

4、便于数据库移植。

5、安全性好

6、资源重用性好。

'''缺点'''

有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的[[业务逻辑层]]和[[数据访问层]]中都增加相应的代码。

相对于不分层的编程方法,使用三层或多层架构的应用于程序运行效率低,代码量大,难度增加。

==相关概念==
1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。

2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。

3、数据访问层(DAL):该层所做[[事务]]直接操作数据库,针对数据的增添、删除、修改、查找等。

'''视频'''

'''三层结构深入理解'''

[https://www.bilibili.com/video/BV1mU4y1d7p6/?p=16哔哩哔哩]

==参考文献==
{{Reflist}}
13,191
次編輯