您的位置:首页 > 其它

单例模式

2016-05-04 07:46 288 查看
[b]创建型:Singleton(单例模式)[/b]

  单例模式,或者称为元件模式。一般来说,在所有模式中,属于最小代码实现的翘楚。刚找工作那会,经常在笔试题遇到写出你知道的设计模式,基本上单例是必写的,不为啥,至少占地面积小。

  一般我们有这两种实现:

package top.gabin.oa.web.design.singleton;

/**
* 简单单例模式示例
* @author linjiabin on  16/5/4
*/
public class SimpleSingleton {
private static Object singleton = new Object();
private static Object singleton2;

public static Object getSingleton() {
return singleton;
}

public static Object getSingleton2() {
if (singleton2 == null) {
singleton2 = new Object();
}
return singleton2;
}

}


  静态变量在整个应用中只会持有一份对象,而全局访问点也只有一个,这就是我们一般定义的单例了:保证只有一个对象,一般也只有一个全局访问点。至于初始化的时间,要看创建对象的资源损耗和使用频率。一般使用频率高,损耗低的会直接初始化。

  当然看起来简单的东西并不见得容易维护,其实单例模式往往还要解决并发访问的问题,这不在讨论范围,并且我也对并发没有那么深的见解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: