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

最简略的设计模式

2012-09-14 
最简单的设计模式前段时间偶尔去图书馆逛逛,说实在的,信息学部图书馆的环境实在不咋的,不能久坐。?《head fi

最简单的设计模式

前段时间偶尔去图书馆逛逛,说实在的,信息学部图书馆的环境实在不咋的,不能久坐。

?

《head first 设计模式》看到一半了,研究设计模式是从去北邮时看到那本漫谈设计模式开始的,写代码也是一种境界

?

呀。这本书图与文、理论与生活结合,看起来很轻松惬意,其中单态设计模式最简单了,很少写博客,当然得从简单写起了,

?

纯粹回忆吧。

?

单态,观其名,只能有一个实例。有以下特点:

?

1. 全局访问,实例static化;

?

2. 构造函数私有化,通过Singleton.getInstance()获得实例;

?

3. 不想从一开始就获得实例,可通过判断实例化,空时实例,非空那里用;

?

4. 多线程中注意线程安全,用synchronized加锁;

?

5. 线程安全了,但却性能下降,用volatile和synchronized加双锁;

?

综合以上特点,得以下代码:

?

?

public class Singleton {private volatile static Singleton uniqueInstance; private Singleton() {} public static Singleton getInstance() {if (uniqueInstance == null) {synchronized (Singleton.class) {if (uniqueInstance == null) {uniqueInstance = new Singleton();}}}return uniqueInstance;}}
?

?

有适合的问题时,就用此方案解决吧。

?

首次发博,诚邀读者指出不对之处,感激涕流啊。

热点排行