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

设计形式-单例模式解析

2012-10-30 
设计模式-单例模式解析什么叫单例模型, 直接上代码:一,同步方法publicclassSingleton{staticclassSingleto

设计模式-单例模式解析
什么叫单例模型, 直接上代码:
一,同步方法

public   class  Singleton  {           static   class  SingletonHolder  {          static  Singleton instance  =    new  Singleton();      }           public    static  Singleton getInstance()  {          return  SingletonHolder.instance;      }       }

虽然你看完了上面的3中形式, 也许你已经都忘了! 所以你在回头看一种就好了认真理解第一种就行了。

单例其实的原理就是  使用对象不是直接通过new来实例化, 而是使用静态方法getInstance来获得一個对象的引用,如果该对象不是空,就返回对象引用,如果为空就创建一個对象返回。



当是为什么要使用单例模型呢?  特别是在web方面, 尤其重要。因为需要管理的配置太多了,用户也多。


其实我们在使用对象的时候都是new一下,在去操作这个对象。但是如果这个对象 ,是比较全局的,这个很重要,不能乱用单例,但是比较全局的,我们就可以考虑使用单例,  这样不仅不用new多个, 而且还起到了协调系统整体的行为  ;

取个例子: 配置管理上,在服务器程序中, 服务器的配置信息存放在一個文件中,然后用这个单例去统一的读取信息, 之后其他的服务对象在通过这个对象去读取配置信息,并且操作。

这样就简化了配置管理的复杂程度。


注意: 多线程中的单例。

在多线程中使用单例要格外小心,  两个线程没有检查到唯一实例的存在,有可能同时创立,  解决的办法就是 给已经实例出单例的变量加上互斥锁。






        [size=x-small;]Ext JS中也使用了不少的单例模式,JS使用单例,可以对客户浏览器中的内存得到充分的利用。[/size]

[size=x-small;]      以上只为个人理解,如有不恰当处,还望大家批评指正。[/size]

热点排行