ASP教程 PHP教程 JSP教程 CGI教程 XML教程
  • ASP.NET教程
  • JAVA教程
    当前位置:教程 > 程序设计 > ASP.NET教程 > 正文

    ASP.NET应用程序规划与设计(4)

    编辑:教程网 来源:网络 时间:2011年10月27日 15:41
    数据访问组件

      数据访问组件设计文档描绘与数据存储系统的交互以及与用户界面的交互的所有细节。在有些系统中,数据访问组件实际上是处理过程中各种问题的多个程序集。例如,可能会有一系列业务规则呈现在与数据存储和检索完全独立的用户界面上。在这种情况下,将业务组件与数据访问组件分开实现可能比较明智。

      在我们的示例中,实际实现的是两个单独的组件:Message 组件和 DataAccess 组件。如果在支持基于 XML 的数据的传输服务(例如 SOAP Web Service)中进行规划,这种面向消息的实现方案将会特别有成效。

      消息组件

      消息组件定义一系列用于在各图层之间传输数据的类。这些消息可以作为二进制或 XML 文本数据存在。消息图层的价值在于:保护系统的其余部分,使其独立于数据存储实现方案的具体细节,例如 sql server、XML 文件等。此外,通过实现消息图层而不是更复杂的“智能对象”库,我们的解决方案可以更轻松地支持那些不能同时发送数据和类级别逻辑的远程调用服务,例如 XML-SOAP。

      下面是一个消息类示例,在该示例中实现了 Topic 消息及其集合:

    Public Class Topic
    Private _ID As Integer
    Private _Title As String
    Private _Description As String

    Public Property ID() As Integer
    Get
    Return _ID
    End Get
    Set(ByVal Value As Integer)
    _ID = Value
    End Set
    End Property

    Public Property Title() As String
    Get
    Return _Title
    End Get
    Set(ByVal Value As String)
    _Title = Value
    End Set
    End Property

    Public Property Description() As String
    Get
    Return _Description
    End Get
    Set(ByVal Value As String)
    _Description = Value
    End Set
    End Property

    End Class

    Public Class Topics
    Inherits System.Collections.CollectionBase

    Default Public Property Item(ByVal index As Integer) As Topic
    Get
    Return CType(List(index), Topic)
    End Get
    Set(ByVal Value As Topic)
    List(index) = Value
    End Set
    End Property

    Public Function Add(ByVal s As Topic) As Integer
    Return List.Add(s)
    End Function

    Public Sub Remove(ByVal index As Integer)
    List.Remove(index)
    End Sub

    End Class

      注意:如果您已尝试过面向消息的设计,便会了解我们想要使这些消息类系列化,以便在应用程序图层之间轻松地来回发送。幸运的是,.NET 运行时知道如何进行这项操作,而无需我们做过多的工作。但是,当我们学习创建消息的文章时,我们将详细讨论 .NET 运行时如何系列化类,以及我们如何进行操作以使代码中的过程最优化。

      在后面实现消息组件和数据访问组件时,文章中将介绍此方法的细节。设计文档将包含一个由所有信息及其属性与数据类型组成的列表。现在,我们只是考虑如何使用此消息方法来封装图层间的数据传输,如何创建一种与本地方案和远程方案配合使用的常规数据服务。

      数据访问组件

      定义消息类的概念后,数据访问组件可以集中精力处理与数据存储系统直接对话的细节,并以正确的消息格式返回信息。在我们的示例中,这将涉及到使用来自用户界面的请求映射 SQL Server 存储过程,并创建可返回到用户界面进行显示的消息(或消息集合)。

      例如,下面是一个数据访问组件的一部分示例代码,该组件将从数据存储中检索单个 Topic 记录,并将正确的消息格式返回到用户界面。

    Public Function GetTopicRecord(ByVal ID As Integer) As Messages.Topic
  • 原文来自 教程网 转载请注明:http://www.websmill.com/chengxu/aspnet/29771.html

  • 上一篇:不使用COM组件弹出数据库连接对话框
  • 下一篇:.NET架构的核心开发技术