数据层组件设计与数据传递1

时间:2010-02-02 08:30:07  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:分布式应用程序时需要确定如何访问和表示与该应用程序相关联的业务数据。本文提供一些指导原则以帮助您选择公开数据、保持数据和在应用程序的层间传递数据的最佳方式。        图 1 所示为分布式应用程序中的常见层。本文区分业务数据与使用这些数据的业务过程,并且仅在需要明确说明时讨论业务过程层。同样,本文仅在直接涉及数据表示方式(例如 Mic...
  正文: 摘要:
  
    学习向 Microsoft .net 应用程序公开数据的最佳方式,以及如何实现一个有效的策略以便在分布式应用程序的层间传递数据。
    简介
  
    在设计分布式应用程序时需要确定如何访问和表示与该应用程序相关联的业务数据。本文提供一些指导原则以帮助您选择公开数据、保持数据和在应用程序的层间传递数据的最佳方式。
  
    图 1 所示为分布式应用程序中的常见层。本文区分业务数据与使用这些数据的业务过程,并且仅在需要明确说明时讨论业务过程层。同样,本文仅在直接涉及数据表示方式(例如 Microsoft® ASP/ target=_blank class=infotextkey>asp.NET Web 页面公开业务数据的方式)时讨论表示层。图 1 中使用了两个新术语:数据访问逻辑组件和业务实体组件。本文后面将解释这些术语。
  
  图 1:分布式应用程序中数据的访问与表示
  
    多数应用程序将数据存储在关系数据库中。除此之外还有其他数据存储方式,但本文重点讨论 .NET 应用程序与关系数据库交互的方式,而并不专门讨论它如何与平面文件、非关系数据库等其他数据存储中的数据进行交互。
  
    本文明确区分保持逻辑与数据本身。将保持逻辑与数据区分开来的原因如下:
  
  独立的数据保持组件可以将应用程序与数据源名称、连接信息、字段名等数据库相关内容隔离开。
  现在的许多应用程序都采用 XML Web Services、Microsoft 消息队列(亦称 MSMQ)等松散耦合的、基于消息的技术。这些应用程序通常通过传递业务文档而不是传递对象进行通信。
    为区分保持逻辑与数据本身,本文提出了两种不同的组件类型。
  
  数据访问逻辑组件。数据访问逻辑组件从数据库中检索数据并把实体数据保存回数据库中。数据访问逻辑组件还包含实现数据相关操作所需的所有业务逻辑。
  业务实体组件。数据用来表示产品、订单等现实世界中的业务实体。在应用程序中表示这种业务实体的方法非常多,例如 XML、DataSet、面向对象的自定义类等,这取决于应用程序的物理和逻辑设计限制。本文后面将详细讨论各种设计方案。
    数据访问逻辑组件
    数据访问逻辑组件代表调用程序提供对数据库执行以下任务的方法:
  
  在数据库中创建记录
  读取数据库中的记录并把业务实体数据返回给调用程序
  使用调用程序提供的修改后的业务实体数据更新数据库中的记录
  删除数据库中的记录
    执行上述任务的方法通常称为“CRUD”方法,这是由各项任务的首字母组成的一个缩写词。
  
    数据访问逻辑组件还提供对数据库实现业务逻辑的方法。例如,数据访问逻辑组件可能包含一个查找目录中本月销售额最高的产品的方法。
  
    通常,数据访问逻辑组件访问一个单一数据库,并封装了针对该数据库中一个表或一组相关表的数据相关操作。例如,可以定义一个数据访问逻辑组件来处理数据库中的 Customer 表和 Address 表,同时定义另一个数据访问逻辑组件来处理 Orders 表和 OrderDetails 表。本文后面将讨论将数据访问逻辑组件映射到数据库表的设计决策。
  
    表示业务实体
    每个数据访问逻辑组件都处理一种特定类型的业务实体。例如,Customer 数据访问逻辑组件处理 Customer 业务实体。表示业务实体的方式很多,这取决于诸如以下因素:
  
  是否需要把业务实体数据与 Microsoft Windows® 窗体或 ASP.NET 页面中的控件绑定在一起?
  是否需要对业务实体数据执行排序或搜索操作?
  应用程序是每次处理一个业务实体,还是通常处理一组业务实体?
  是本地部署还是远程部署应用程序?
  XML Web services 是否使用该业务实体?
  性能、可缩放性、可维护性、编程方便性等非功能性要求的重要程度如何?
"数据层组件设计与数据传递1"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/12740.html


关键字:

关于《数据层组件设计与数据传递1》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td