N 层数据应用程序概述

更新:2007 年 11 月

“N 层”数据应用程序是指分为多个层的数据应用程序。这种应用程序又称为“分布式应用程序”和“多层应用程序”,它们将处理分为多个部分,并在分布于客户端和服务器之间的相互独立的层中执行。开发访问数据的应用程序时,应该清楚地界定组成应用程序的各个层。

典型的 N 层应用程序包括表示层、中间层和数据层。在 N 层应用程序中,分离各层最简单的方法是为要包括在应用程序中的每一层创建相互独立的项目。例如,表示层可以是 Windows 窗体应用程序,而数据访问逻辑可以是位于中间层中的类库。此外,表示层可以通过类似 WCF 服务的服务与中间层中的数据访问逻辑通信。通过将应用程序组件分离到单独的层中,可以提高应用程序的可维护性和可伸缩性。该结构之所以具有这种优点,是因为它有利于采用可应用于单个层而无需重新设计整个解决方案的新技术。另外,N 层应用程序通常将敏感信息存储在中间层中,以便将这些信息与表示层隔离。

Visual Studio 包含多项有助于开发人员创建 N 层应用程序的功能:

表示层

“表示层”是指用户与应用程序进行交互时所在的层。它通常还包含附加的应用程序逻辑。典型的表示层组件包括:

  • 数据绑定组件,例如 BindingSourceBindingNavigator

  • 数据的对象表示形式,例如要在表示层中使用的 LINQ to SQL 实体类。

  • 本地数据库,例如可使用偶尔连接的应用程序中的 Microsoft Synchronization Services for ADO.NET 与数据层中的服务器进行同步的“本地数据库缓存”。

下图显示了 Visual Studio 中提供的功能和技术及其可能在 N 层应用程序表示层中的用途。

表示层

表示层组件

表示层通常使用服务引用(例如 Windows Communication Foundation 服务和 ADO.NET 数据服务应用程序)访问中间层。它并不直接访问数据层。表示层与数据层的通信是通过中间层中的数据访问组件来完成的。

中间层

“中间层”是指表示层与数据层用于相互通信的层。典型的中间层组件包括:

  • 业务逻辑,例如业务规则和数据验证。

  • 数据访问组件和逻辑,例如:

下图显示了 Visual Studio 中提供的功能和技术及其可能在 N 层应用程序中间层中的用途。

中间层

中间层组件

中间层通常使用数据连接来连接至数据层。此数据连接通常存储在数据访问组件中。

数据层

从本质上说,“数据层”是存储应用程序数据的服务器(例如,运行 SQL Server 的服务器)。

下图显示了 Visual Studio 中提供的功能和技术及其可能在 N 层应用程序数据层中的用途。

数据层

数据层组件

数据层不能从表示层中的客户端直接访问。实际上,表示层和数据层之间的通信是通过中间层中的数据访问组件来完成的。

关于 N 层开发的帮助

以下主题提供了有关开发 N 层应用程序的信息:

如何:将数据集和 TableAdapter 分离到不同的项目中

演练:创建 N 层数据应用程序

演练:向 N 层数据应用程序添加验证

演练:向 N 层应用程序添加本地数据库缓存

使用 LINQ to SQL 的 N 层应用程序和远程应用程序

请参见

任务

演练:创建 N 层数据应用程序

概念

数据中的新增功能

“Visual Studio 中的数据集”概述

参考

Attach

其他资源

分层更新

访问数据 (Visual Studio)