请问下三层结构的优点和缺点,期待达人。

来源:百度知道 编辑:UC知道 时间:2024/05/22 03:42:28
大家说下对3层结构的理解。去面试ASP。NET程序员的面试体,怎么样答才出彩哦!

ASP.NET的三层结构指什么?

为何使用N层架构?

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

一个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是一个透明层。 <