N 层数据应用程序概述
发布日期: 2016年7月
“N 层”数据应用程序是指分为多个层的数据应用程序。 这种应用程序又称为“分布式应用程序”和“多层应用程序”,它们将处理分为多个部分,并在分布于客户端和服务器之间的相互独立的层中执行。 开发访问数据的应用程序时,应该清楚地界定组成应用程序的各个层。
典型的 N 层应用程序包括表示层、中间层和数据层。 在 N 层应用程序中,分离各层最简单的方法是为要包括在应用程序中的每一层创建相互独立的项目。 例如,表示层可以是 Windows 窗体应用程序,而数据访问逻辑可以是位于中间层中的类库。 此外,表示层可以通过类似服务的服务与中间层中的数据访问逻辑通信。 通过将应用程序组件分离到单独的层中,可以提高应用程序的可维护性和可伸缩性。 该结构之所以具有这种优点,是因为它有利于采用可应用于单个层而无需重新设计整个解决方案的新技术。 另外,N 层应用程序通常将敏感信息存储在中间层中,以便将这些信息与表示层隔离。
Visual Studio 包含多项有助于开发人员创建 N 层应用程序的功能:
创建和编辑类型化数据集提供的**“数据集项目”**属性可使您将数据集(数据实体层)与
TableAdapter
(数据访问层)分离到相互独立的项目中。对象关系设计器(O/R 设计器)提供了可在不同命名空间中生成 DataContext 和数据类的设置。 这使数据访问层和数据实体层的逻辑分离得以实现。
LINQ to SQL 提供了将应用程序各个层中的 DataContext 连接在一起的 Attach 方法。 有关详细信息,请参阅使用 LINQ to SQL 的 N 层应用程序和远程应用程序。
表示层
“表示层”是指用户与应用程序进行交互时所在的层。 它通常还包含附加的应用程序逻辑。 典型的表示层组件包括:
数据绑定组件,例如 BindingSource 和 BindingNavigator。
数据的对象表示形式,例如要在表示层中使用的 LINQ to SQL 实体类。
表示层通常使用服务引用(例如 Windows Communication Foundation Services and WCF Data Services in Visual Studio 应用程序)访问中间层。 它并不直接访问数据层。 表示层与数据层的通信是通过中间层中的数据访问组件来完成的。
中间层
“中间层”是指表示层与数据层用于相互通信的层。 典型的中间层组件包括:
业务逻辑,例如业务规则和数据验证。
数据访问组件和逻辑,例如:
数据的对象表示形式,例如 LINQ to SQL 实体类。
公共应用程序服务,例如身份验证、授权和个性化。
下图显示了 Visual Studio 中提供的功能和技术及其可能在 N 层应用程序中间层中的用途。
中间层
中间层通常使用数据连接来连接至数据层。 此数据连接通常存储在数据访问组件中。
数据层
从本质上说,“数据层”是存储应用程序数据的服务器(例如,运行 SQL Server 的服务器)。
下图显示了 Visual Studio 中提供的功能和技术及其可能在 N 层应用程序数据层中的用途。
数据层
数据层不能从表示层中的客户端直接访问。 实际上,表示层和数据层之间的通信是通过中间层中的数据访问组件来完成的。
关于 N 层开发的帮助
以下主题提供了有关开发 N 层应用程序的信息:
如何:将数据集和 TableAdapter 分离到不同的项目中
使用 LINQ to SQL 的 N 层应用程序和远程应用程序
请参阅
Attach
演练:创建 N 层数据应用程序
分层更新
在 Visual Studio 中使用数据集
在 Visual Studio 中访问数据