机房重构之单例模式

    在机房重构的过程中,大多时候锻炼的是我们对设计模式的应用。对于设计模式一知半解的我,对于把设计模式加到机房重构里,无疑是“难于上蜀道”呀!为此,我看了很多师哥师姐的博客,看看前人在我们这个时候的经验。。。

    下面,就说一下我用到的一个特别简单的设计模式——单例模式。

    单例模式,你还记得吗?

    用一句话形容:简约而不简单。它保证一个类仅有一个实例,并提供一个访问它的全局访问点。要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。

    为什么用到这个设计模式呢?

    因为,在主界面点击菜单时,会弹出多个相同窗体。如果是注册、退卡之类也就罢了。对于修改密码这样一个比较重要的来说,怎么能有两个呢?必须要有一个!

    那么我们就用到了单例模式。单例模式的使用特别简单。

代码如下:

Private Shared frm_ModifyPWD As frmModifyPWD
Private Sub New()           '私有构造函数  
  
    ' 此调用是设计器所必需的。  
    InitializeComponent()  
  
End Sub  
  
Public Shared Function GetInstance() As frmModifyPWD  ’静态公有工厂方法,返回唯一实例  
    If frm_ModifyPWD Is Nothing OrElse frm_ModifyPWD.IsDisposed Then'注意这里使用OrElse而不是or  
        frm_ModifyPWD = New frmModifyPWD()  
        frm_ModifyPWD.MdiParent = frmMain  
    End If  
    Return frm_ModifyPWD  
End Function
菜单的单击事件下的代码:

frmChangePWD.GetInstance.Show()

然后,问题就轻松的解决了。。。


当然,单例模式的好处肯定不止这些。给大家推荐一篇博客,里面介绍的很详细。

你可能感兴趣的:(机房重构之单例模式)