什么是三层架构?

如题所述

asp.net三层架构
因为每一层都可以在仅仅更改很少量的代码后,就能放到物理上不同的服务器上使用,因此结构灵活而且性能更佳。此外,每层做些什么其它层是完全看不到的,因此更改、更新某层,都不再需要重新编译或者更改全部的层了。这是个很强大的功能。例如,如果把数据访问代码与业务逻辑层分离,当数据库服务器更改后,你只需要更改数据访问的代码,因为业务逻辑层是不变的,因此不需要更改或者重新编译业务逻辑层。

一个N层的应用程序通常有三层:表现层、业务层和数据层。下面让我们看看每层都做些什么。

表现层(Presentation Layer)

表现层用于用户接口的展示,以及用业务层的类和对象来“驱动”这些接口。

在ASP.NET中,该层包括aspx页面、用户控制、服务器控制以及某些与安全相关的类和对象。

业务层(Business Tier)

业务层用于访问数据层,从数据层取数据、修改数据以及删除数据,并将结果返回给表现层。

在ASP.NET中,该层包括使用SqlClient或OleDb从SQL Server或Access数据库取数据、更新数据及删除数据,并把取得的数据放到DataReader或DataSet中返回给表现层。返回的数据也许只有一个整型数字,比如一个表的行记录数目,但这也要用数据层的数据进行计算。

BLL和DAL

通常该层被划分成两个子层:业务逻辑层(Business Logic Layer,BLL)和数据访问层(Data Access Layers,DAL)。业务逻辑层在数据访问层之上,也就是说BLL调用DAL的类和对象。DAL访问数据并将其转给BLL。

在ASP.NET中,该层可以用SqlClient或OleDb从SQL Server或Access数据库取数据,把数据通过DataSet 或DataReader的形式给BLL,BLL处理数据给表现层。有的时候,例如直接把DataSet 或DataReader送给表现层的时候,BLL是一个透明层。

数据层(Data Tier)

数据层是数据库或者数据源。在.NET中,通常它是一个SQL Server或Access数据库,但不仅限于此两种形式,它还可能是Oracle,mySQL,甚至是XML。

逻辑层VS(分布式)物理层

人们容易将这两个概念搞混。我们说逻辑层是把层按类的集合来划分,而这些层都在同一台个服务器上。(分布式)物理层是指类的集合在不同的服务器上,用附加的代码来处理层间的通信,比如remoting和web服务。

决定如何划分你的层(是物理的还是不是物理的)是非常重要的。在划分时应考虑下面因素:

1、注意如果划分成物理层,你的应用程序的速度会因为不同服务器在网络中通信的延迟而减慢。所以,如果你决定用物理层,请确保获得性能的提升大于性能的降低。

2、按照n层架构设计你的应用程序。

3、部署以及维护物理分布式的应用程序的成本是很高的。你首先需要不止一台服务器,你还需要网络硬件来连接这些服务器。在这种情况下,部署应用变得更加复杂!因此这样做之前请确定这样做是否值得。

另外还要注意,你的应用程序的每层都做何使用。你也许因为运行的多个服务都需要某一层而把该层放到别台服务器上。例如,你也许会因为给不同的用户定制不同的表现层,而将业务逻辑层放于别处;你也许会因为还有其它的应用访问同一个数据库,而把SQL server服务放到别处
温馨提示:内容为网友见解,仅供参考
第1个回答  2021-11-27
通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候的所见所得。业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等每层之间是一种垂直的关系。三层结构是N层结构的一种,一般来说,层次之间是向下依赖的,下层代码未确定其接口(契约)前,上层代码是无法开发的,下层代码接口(契约)的变化将使上层的代码一起变化。
优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。
缺点: 增加成本。
第2个回答  2011-10-18
应用程序通常有三层:表现层、业务层和数据层

表现层(Presentation Layer)

表现层用于用户接口的展示,以及用业务层的类和对象来“驱动”这些接口。

在ASP.NET中,该层包括aspx页面、用户控制、服务器控制以及某些与安全相关的类和对象。

业务层(Business Tier)

业务层用于访问数据层,从数据层取数据、修改数据以及删除数据,并将结果返回给表现层。

在ASP.NET中,该层包括使用SqlClient或OleDb从SQL Server或Access数据库取数据、更新数据及删除数据,并把取得的数据放到DataReader或DataSet中返回给表现层。返回的数据也许只有一个整型数字,比如一个表的行记录数目,但这也要用数据层的数据进行计算。
第3个回答  2011-10-18
第4个回答  2021-01-10

什么是三层架构?优缺点有哪些?
三层架构是一种在应用程序中用作特定类型的客户机-服务器系统的体系结构模式,它将体系结构分为三层:数据层、应用层和表示层。表示层占据应用程序的顶层,将内容发送到网络开发框架中的浏览器,并以图形用户界面(GUI)的形式显示信息。应用层也称为业务逻辑层、逻辑层或中间层,通过处理应用程序的业务逻辑...

三层架构是什么?
通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候的所见所得。业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据...

三层架构是什么?
三层架构是一种将应用程序划分为三个主要逻辑组件的架构模式:表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。表示层:这是用户与应用程序进行交互的界面部分。它负责显示信息和接收用户输入。表示层可以包括图形用户界面(GUI)、命令行界面(CLI)或We...

什么是三层架构
三层架构包含视图层、服务层与持久层,分别承担不同的功能。通过面向抽象编程,上层调用下层采用接口实现,下层提供服务者则是接口的实现类。这样,层间解耦合,服务标准一致,服务提供者可更换。使用三层架构设计程序,能有效降低模块间的耦合度,提升系统的灵活性与可维护性。同时,采用面向抽象编程,确保各...

什么是三层结构
三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了 “高内聚低耦合” 的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构...

什么是 MVC 和 三层架构?
通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)...2.MVC MVC全名是Model View Controller,是模型(model)...3.三层架构和MVC的区别 MVC(模型Model-视图View-控制器Controller)...4.笔记总结 MVC和三层架构的区别: M即Model(模型层),主要负责处理业务逻辑以及...

mvc和三层架构有什么区别么
三层架构:三层架构是一种常用的软件架构设计模式,它将应用程序划分为三个主要层次:数据访问层、业务逻辑层和表示层。数据访问层负责与数据的存储和检索交互,如数据库操作;业务逻辑层包含应用程序的主要功能和业务规则;表示层则负责与用户进行交互,展示数据和接收用户输入。三层架构的核心是数据抽象和...

.NET三层架构解析一:什么是三层架构
所谓三层架构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B\/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。在项目开发的过程中,有时把整个项目分为...

什么是三层架构
服务层(Service): 这是业务逻辑的核心地带,它负责处理和管理复杂的业务规则,实现系统的业务功能。持久层(DAO): 这是数据的守护者,直接与数据库对话,执行数据的增删改查操作。为了实现架构间的良好协作,三层架构遵循面向抽象编程的原则。在设计中,上层(如视图层)通过接口与下层(如服务层)进行...

什么是三层架构
MVC 模型视图控制器 模型负责展示数据和接受用户输入,控制器负责调度模型处理和控制器展示,模型进行业务逻辑的处理和数据库操作

相似回答