jdsbj

博客园 首页 联系 订阅 管理
  目的:通过《设计模式迷你手册》和Patterns in Java 关于设计模式的内容来学习一下设计模式,并用vb.net语言实现。

 我以前使用过vb6,对oo思想本来就很模糊,刚刚接触.net,对设计模式可以说是一张白纸。加上看很多设计模式的书都是c相关的,希望对初学vb.net的弟兄们有点帮助,我的水平有限,错误的地方请大家指点出来,以便纠正!

 想了办天,决定从singleton开始,它看起来最简单。一直不敢post,害怕自己错了,大家笑话,想想,学习就需要别人指正自己的错误,post!!!!!!


 名称:SingLeton(单态)

结构:

意图:保证一个类只有一个实例,并提供一个访问它的全局访问点。

适用性:1、当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。

2、当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。

 

Vb.Net实现代码:

 

Module SingLeton_Client

 

    Sub Main()

        Dim newInstance As SingLeton = SingLeton.Instance

        newInstance.SetX(5)

        System.Console.Write(newInstance.GetX)

        System.Console.Read()

    End Sub

 

    Public Class SingLeton

 

        Private Shared mSingLeton As SingLeton

 

        Public Shared Function Instance() As SingLeton

            If mSingLeton Is Nothing Then

                mSingLeton = New SingLeton

            End If

            Return mSingLeton

        End Function

 

        Protected Sub New()

        End Sub

 

        Private x As Integer = 0

 

        Public Sub SetX(ByVal newVal As Integer)

            x = newVal

        End Sub

 

        Public Function GetX() As Integer

            Return x

        End Function

 

    End Class

 

End Module

 

学习手记:

SingLeton用于 建立数据库连接、论坛的计数器时候使用。我们保存一个配置文件system.xml,其中包含需要的连接字符串,在使用的时候可以使用dbconstring.Instance.constring这样来实现。

 

posted on 2005-08-16 11:58  jdsbj  阅读(934)  评论(0编辑  收藏  举报