技术开发 频道

.Net设计模式之适配器模式

  以RealPlay为例,代码如下:

'采用Real Play API的播放器类,类适配器 Public Class RealAudioPlayerClassClass RealAudioPlayerClass Inherits AxRealAudioObjects.AxRealAudio Implements AudioPlayer Public Sub New()Sub New(ByVal c As Control)  c.Controls.Add(Me)  Me.Visible = False End Sub Public Sub DoPause()Sub DoPause() Implements AudioPlayer.DoPause  MyBase.DoPause() End Sub Public Sub DoPlay()Sub DoPlay() Implements AudioPlayer.DoPlay  MyBase.DoPlay() End Sub Public Sub DoStop()Sub DoStop() Implements AudioPlayer.DoStop  MyBase.DoStop() End Sub Public Property Source()Property Source() As_ String Implements AudioPlayer.Source  Get Return MyBase.Source  End Get  Set(ByVal Value As String) MyBase.Source = Value  End Set End Property End Class
  .NET中的适配器——DataAdapter
 
  ADO.NET为统一的数据访问提供了多个接口和基类,其中最重要的接口之一是IdataAdapter。与之相对应的DataAdpter是一个抽象类,它是ADO.NET与具体数据库操作之间的数据适配器的基类。DataAdpter起到了数据库到DataSet桥接器的作用,使应用程序的数据操作统一到DataSet上,而与具体的数据库类型无关。甚至可以针对特殊的数据源编制自己的DataAdpter,从而使我们的应用程序与这些特殊的数据源相兼容。
 
  例如,在多数据源的数据采集系统中,需要从自定义实时数据库中读出并处理数据。我们已经有了数据处理类和数据显示类,这些类是为关系数据库开发的,但同样可以用在实时数据显示中。由于这些类操作的是DataSet,因此我们可以定义一个特殊的适配器实现从实时数据库接口对象中填充DataSe,这样使得针对这些自定义的数据库的操作与一般的关系数据库完全一样。由于针对实时数据库只涉及查询,不涉及更新和删除,所以实现并不复杂。
 
  这里省略了实现的代码。采用数据适配器可以使不同格式的数据源都可以被相同的上层应用使用,从而提高了系统的可扩展性和可维护性。

0
相关文章