三层(3-tier architecture)基础

简介:     之前看过很多关于三层的博客,所以这次自己重学三层之前,就给自己提了几个问题:一,三层指的是哪三层,每层的作用是什么? 二,为什么要分三层?  三,三层结构的优缺点?  四,如何分层?      下面,让我们来逐一回答这些问题。

    之前看过很多关于三层的博客,所以这次自己重学三层之前,就给自己提了几个问题:一,三层指的是哪三层,每层的作用是什么? 二,为什么要分三层?  三,三层结构的优缺点?  四,如何分层?


     下面,让我们来逐一回答这些问题。


     一,三层指的是哪三层,每层的作用是什么?

         三层架构(3-tierarchitecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。


     


各层作用:

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

 

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

 

3,表示层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。


   二,为什么要分三层?

    

区分层次的目的主要是为了实现“高内聚,低耦合”,并充分发挥三层的优点.


   三,那么,三层都有哪些优缺点呢?

 优点

1、开发人员可以只关注整个结构中的其中某一层;

2、可以很容易的用新的实现来替换原有层次的实现;

3、可以降低层与层之间的依赖;

4、有利于标准化;

5、利于各层逻辑的复用。

6、结构更加的明确

7、在后期维护的时候,极大地降低了维护成本和维护时间

 

 缺点

1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。

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

3、增加了开发成本。


四,如何分层的问题

1:数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作。而不必管其他操作。

 

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

 

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


 



目录
相关文章
|
6月前
|
消息中间件 Kubernetes 网络协议
Cilium 系列 -15-7 层网络 CiliumNetworkPolicy 简介
Cilium 系列 -15-7 层网络 CiliumNetworkPolicy 简介
|
3月前
|
安全 网络架构
Ad-Hoc 和 Infrastructure 拓扑之间的区别
【8月更文挑战第24天】
55 0
|
前端开发 JavaScript 测试技术
Islands Architecture:构建可扩展的 Web 前端应用
在当今的互联网时代,前端应用程序的复杂性不断增加,开发人员面临着如何构建可维护、可扩展的应用程序的挑战。在这个背景下,Islands Architecture 应运而生。Islands Architecture 是一种创新的前端架构模式,通过将应用程序拆分为多个独立的模块(岛屿),为开发人员提供了一种解决复杂性的新途径。 本篇博客将深入探讨 Islands Architecture,从优点和缺点、适用场景,以及它在知名项目中的具体应用方面进行详细阐述。我们将了解到 Islands Architecture 如何提高应用程序的可维护性和可扩展性,以及如何通过模块化的设计实现代码复用和并行开发。
165 0
编程笔记:三层架构(3-tier architecture)要点-1
编程笔记:三层架构(3-tier architecture)要点-1
|
设计模式 前端开发 Java
微服务设计模式:反腐层(Anti-corruption layer)
微服务设计模式:反腐层(Anti-corruption layer)
609 0
微服务设计模式:反腐层(Anti-corruption layer)
编程笔记:三层架构(3-tier architecture)要点
三层架构(3-tier architecture) 1、用户界面层(User Interface layer) 2、业务逻辑层(Business Logic Layer) 3、数据访问层(Data access layer)
383 0
编程笔记:三层架构(3-tier architecture)要点
|
SDN
The Business Benefits of SDN and the Emerging SD-WAN Technology
Shunmin Zhu, Head of Alibaba Cloud Network Services, offers insights on the future of Software Defined Networking (SDN) and the emerging SD-WAN technology.
1769 0
The Business Benefits of SDN and the Emerging SD-WAN Technology
Knowledge of Network Building&Maintenance(网络组建与维护知识点)
CH1 计算机网络技术基础 一、Gap Filing1.编码是将模拟数据or数字数据变换成数字信号,以便于数据的传输和处理。信号必须进行编码,使得与传输介质相适应。(第一点存疑) 2.在数据传输系统中,主要采用以下3种数据编码技术:-数字数据的数字信号编码-模拟数据的数字信号编码-数字数据的模拟信号编码Knowledge Extension:数据传输方式有以下4类a.模拟数据的模拟信号编码 b.数字数据的数字信号编码c.数字数据的模拟信号编码 d.模拟数据的数字信号编码这4类中除了模拟数据的模拟信号编码之外,其他3类都属于数据编码技术。
2258 0
|
负载均衡 网络协议 应用服务中间件