`
simonlaw
  • 浏览: 40709 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

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

数据层(Data Tier)

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

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

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

决定如何划分你的层(是物理的还是不是物理的)是非常重要的。在划分时应考虑下面因素:
1、注意如果划分成物理层,你的应用程序的速度会因为不同服务器在网络中通信的延迟而减慢。所以,如果你决定用物理层,请确保获得性能的提升大于性能的降低。
2、按照n层架构设计你的应用程序。
3、部署以及维护物理分布式的应用程序的成本是很高的。你首先需要不止一台服务器,你还需要网络硬件来连接这些服务器。在这种情况下,部署应用变得更加复杂!因此这样做之前请确定这样做是否值得。

另外还要注意,你的应用程序的每层都做何使用。你也许因为运行的多个服务都需要某一层而把该层放到别台服务器上。例如,你也许会因为给不同的用户定制不同的表现层,而将业务逻辑层放于别处;你也许会因为还有其它的应用访问同一个数据库,而把SQL server服务放到别处。

分享到:
评论

相关推荐

    asp.net三层结构代码生成器

    ASP.NET三层架构是一种常见的软件设计模式,用于组织和分离应用程序中的业务逻辑、数据访问和用户界面层。这种架构有助于提高代码的可维护性、可扩展性和可重用性,是大型企业级应用开发的首选模式。 在ASP.NET中,...

    DBHelper(ASP.NET 三层结构下使用GridView增删改查)

    ASP.NET 三层结构下使用GridView增删改查所需要的DBHelper。

    ASP.NET三层结构

    ASP.NET三层架构是一种常见的软件设计模式,用于组织和分离应用程序中的业务逻辑、数据访问和用户界面这三层。这种架构在大型复杂项目中尤其重要,因为它提供了更好的可维护性、可扩展性和可重用性。 首先,我们要...

    asp.net 三层结构简单实例

    ASP.NET三层架构是一种常见的软件设计模式,用于组织和分离应用程序中的业务逻辑、数据访问和用户界面。这个"asp.net 三层结构简单实例"是专为初学者设计的,旨在帮助他们理解和实现这种架构。 首先,三层架构的...

    ASP.NET三层结构生成工具

    ASP.NET三层结构生成工具是一种高效开发方法,它将应用程序分为数据访问层(DAL)、业务逻辑层(BLL)和表示层(UI)。这样的分层设计有助于提高代码的可读性、可维护性和可扩展性,使得开发过程更加模块化。 在...

    ASP.NET三层架构网站源代码

    ASP.NET三层架构是一种常见的软件开发模式,用于构建高效、可维护和可扩展的Web应用程序。在ASP.NET中,三层架构通常指的是数据访问层(DAL)、业务逻辑层(BLL)和表示层(UI)。这种架构将应用程序的不同部分分离...

    简单的asp.net三层架构学习代码

    这个“简单的asp.net三层架构学习代码”是一个很好的起点,对于想要理解并掌握ASP.NET三层架构的初学者来说非常有价值。 三层架构是一种设计模式,它将应用程序分为三个主要部分:表现层(UI)、业务逻辑层(BLL)...

    ASP.Net三层结构示例

    ASP.NET三层架构是一种常见的软件设计模式,用于组织和分离应用程序中的业务逻辑、数据访问和用户界面组件。这种架构有助于提高代码的可维护性、可扩展性和可重用性。在这个示例中,我们看到五个主要的文件夹,它们...

    ASP.NET三层架构登录实例

    ASP.NET三层架构是一种常见的软件设计模式,用于将应用程序的业务逻辑、数据访问和用户界面分离,以实现更好的可维护性和可扩展性。在这个"ASP.NET三层架构登录实例"中,我们将探讨如何使用这种架构来创建一个用户...

    Asp.net三层结构示例经典源码

    通过这个Asp.NET三层结构示例源码,我们可以学习如何设计和实现一个高效、灵活且易于维护的Web应用程序。它展示了如何组织代码以达到良好的结构和可扩展性,对于初学者和有经验的开发者都有很高的参考价值。

    asp.net三层架构实例源码

    总结来说,ASP.NET三层架构实例源码提供了一个基础的学习平台,让初学者能够直观地理解三层架构的结构和工作原理。通过分析和实践,可以深入掌握每个层次的功能和它们之间的协作方式,从而为将来开发更复杂的应用...

    ASP.NET三层架构实例

    总的来说,ASP.NET三层架构实例提供了一个清晰的组织结构,便于理解和维护复杂的Web应用程序。通过将关注点分离,开发人员可以专注于各自领域的代码,从而提高开发效率和代码质量。GustBook这个例子是一个很好的起点...

    基于ASP.NET的三层结构OA系统

    【标题】"基于ASP.NET的三层结构OA系统"是一个典型的Web应用程序开发实例,它采用C#编程语言,展示了如何构建一个高效、可扩展的企业级办公自动化(OA)系统。三层架构是软件设计中的一个重要概念,它将应用逻辑分为...

    使用.NET三层结构实现增删改查(简单)

    在"使用.NET三层结构实现增删改查(简单)"的例子中,开发者可能会创建一个简单的数据库模型,比如一个学生信息管理系统。首先,创建数据访问层的类,如`StudentDAL`,其中包含`InsertStudent`、`UpdateStudent`、`...

    asp.net三层架构聊天室源码

    ASP.NET三层架构是一种常见的软件设计模式,用于组织和分离应用程序的业务逻辑、数据访问和用户界面层。在本项目中,"asp.net三层架构聊天室源码" 提供了一个使用这种架构实现的简单聊天室应用。这个聊天室允许用户...

    asp.net三层架

    ASP.NET三层架构是一种常见的软件开发模式,用于组织和分离应用程序的业务逻辑、数据访问和用户界面层。在ASP.NET中,这种架构可以帮助开发者创建可维护、可扩展且易于复用的代码。以下是对该主题的详细说明: 1. *...

    ASP.NET三层架构

    ASP.NET三层架构是一种常见的软件设计模式,用于构建可维护性高、结构清晰的Web应用程序。在这样的架构中,系统被划分为三个主要层次:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问...

    ASP.NET新闻发布(三层结构)

    【ASP.NET新闻发布(三层结构)】是一个针对初学者设计的教程,旨在教授如何使用ASP.NET技术构建一个基于三层架构的新闻发布系统。这个系统的核心技术包括C#编程语言、ASP.NET框架以及SQL Server 2000数据库管理。...

    Asp.net三层架构实例

    Asp.NET三层架构是一种常见的软件开发模式,它将应用程序分为数据访问层(DAL)、业务逻辑层(BLL)和表示层(UI)。这样的分层设计有助于提高代码的可重用性、可维护性和可扩展性,同时降低各部分之间的耦合度。 1...

    ASP.NET三层模板

    总的来说,ASP.NET三层模板为开发者提供了一个结构化的起点,帮助他们构建出具有良好组织和清晰职责划分的Web应用。通过理解和熟练运用这种架构,开发者能够更好地应对复杂项目的挑战,实现更高效、可维护的代码。

Global site tag (gtag.js) - Google Analytics