首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

深入显出单例模式

2013-10-08 
深入浅出单例模式从现在看来,学习设计模式是很久之前的事了,刚开始的时候对设计模式的理解真的很浅,基本就

深入浅出单例模式

         从现在看来,学习设计模式是很久之前的事了,刚开始的时候对设计模式的理解真的很浅,基本就是处于表面,不知道怎么在系统中应用。现在小组开始合作做系统了,在系统中使用设计模式,能更好的实现代码复用,让自己的系统更好的做到低耦合高内内,同时对于后期的扩展和维护也更加的方便。

        这篇博客我们主要重新回顾和认识单例模式:

单例模式(Singleton):

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

结构图:

深入显出单例模式

C#语言的实现代码:

  

                                                                                                          图2

                                                      深入显出单例模式

       下面我们按照我们上面的代码照葫芦画瓢就好。

Public Class ChildForm    ' 定义一个私有变量,保存创建的实例    Private Shared instance As ChildForm    '私有的构造方法,外界不能利用New创建此类实例(我们没有写),所有类都有构造方法,不编码则系统默认生成空的构造方法    ' 提供一个静态方法,用于返回唯一的Singleton实例    Public Shared Function CreateForm() As ChildForm        '如果instance不存在或关闭时, 表明还没有创建ChildForm对象        '如果instance存在时, 则表明已经创建了ChildForm对象, 将不会执行该方法        If instance Is Nothing OrElse instance.IsDisposed = True Then            '创建一个ChildForm对象,并将缓存起来            instance = New ChildForm            instance.MdiParent = Form.ActiveForm        End If        Return instance '返回实例化结果    End FunctionEnd Class'客户端代码Public Class Form    Private Sub btnShow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShow.Click        '单击显示子窗体        ChildForm.CreateForm().Show()    End SubEnd Class

单例模式的优点和缺点:

优点:

       1、保证该类只有唯一的实例。

       2、该类自身负责保存实例,并保证没有其他实例可以被创建。

       3、向整个系统公开实例接口,对唯一实例的受控访问。

       所有的设计模式都是一样的,既有优点也有缺点,我们利用它的优点的同时,不能忽略他的缺点,在多线程的程序中,多个线程同时访问,会造成创建多个实例,存在不安全问题。

1楼zhangyingjie09昨天 19:41
很详细

热点排行