65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 VB.NET 的设计模式

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.07/5 (28投票s)

2002年10月1日

1分钟阅读

viewsIcon

109124

使用 VB.NET 创建设计模式

设计模式是允许程序共享设计知识的工具。 在本文中,我们将尝试使用 VB.NET 实现单例模式。 单例模式适用于许多需要该类只有一个实例的情况。

我们如何确保该类只能有一个实例? 一种解决方案是使用全局变量,但它无法阻止客户端创建多个实例。 更好的解决方案是使类足够智能,以限制客户端创建多个实例。 这就是单例模式。

以下是使用 VB.NET 实现单例类的示例:
    

        Public Class clsSingleton

            Private Shared objSingle As clsSingleton
            Private Shared blCreated As Boolean
            Public strI As String

            Private Sub New()
                'Override the default constructor
            End Sub

            Public Shared Function getObject() As clsSingleton
                If blCreated = False Then
                    objSingle = New clsSingleton()
                    blCreated = True
                    Return objSingle
                Else
                    Return objSingle
                End If
            End Function
        End Class

现在让我们检查上面的类。 在上面的类中,我们将构造函数设为私有,以便客户端无法使用 new 运算符创建该类的实例。 调用 getObject 函数来获取类的实例。 基于布尔变量 blCreated,只有在第一次调用时才会创建实例。 在后续对 getObject 的调用中,不会创建新的实例,而是返回旧的实例,从而确保只创建该类的一个实例。

你可以通过编写可以创建该类多个实例的客户端来测试该类。 通过将值设置为类中的字符串变量,你将发现该类的实例只创建一次。 现在我们有了实现,我们可以在哪里使用它? 许多情况下,微软都有效地使用了单例模式,例如,Windows 中只有一个文件系统,只有一个窗口管理器等。

© . All rights reserved.