3.5 单例模式
單例模式定義:
單例模式(也叫單件模式)是保證在整個(gè)應(yīng)用程序的生命周期中,任何一個(gè)時(shí)刻,單例類的實(shí)例都只存在一個(gè)(當(dāng)然也可以不存在)。
?
UML類圖:
?
?
類圖代碼:
主動(dòng)式(不管有沒有調(diào)用,都先實(shí)例化出來):
public class Singleton {private static Singleton singleton = new Singleton();private Singleton() {}public static Singleton getInstance(){ return singleton;} }?
被動(dòng)式(第一次調(diào)用的時(shí)候才實(shí)例化出來):
public class Singleton {private static Singleton singleton;private Singleton() {}public static synchronized Singleton getInstance(){ if (singleton == null) { singleton = new Singleton(); } return singleton; } }?
模式特色:
(1)單例模式使類在程序生命周期的任何時(shí)刻都只有一個(gè)實(shí)例,
(2)單例的構(gòu)造函數(shù)是私有的,外部程序如果想要訪問這個(gè)單例類的話,必須通過 getInstance()來獲取這個(gè)單例類的實(shí)例。
?
模式應(yīng)用場(chǎng)景:
(1)配置文件類一般都可以通過單例模式實(shí)現(xiàn),因?yàn)榕渲梦募趹?yīng)用中只需一份就夠了。
轉(zhuǎn)載于:https://www.cnblogs.com/chenjc/archive/2012/05/19/2509180.html
總結(jié)
- 上一篇: 10个最“优秀”的代码注释
- 下一篇: 【DEMO 0074】进程创建与消亡