設計模式之單例模式

2021-07-08 11:57:41 字數 801 閱讀 5519

一.概念

通俗的的講,單例模式可以保證系統中乙個類只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。

二.實現

打個比方:乙個國家只允許有乙個皇帝,對應我們的**就是乙個類只能產生乙個物件。

怎麼實現呢,物件都是通過new 關鍵字產生的(當然還有別的方法,例如物件複製,反射等),這可怎麼控制啊?方法當然有啦,大家可別忘了還有個建構函式,使用new關鍵字的時候,都會呼叫建構函式,如果我們把建構函式設定為private私有訪問許可權的話,不就可以禁止外部建立物件了嗎?

**如下:

public class emperor 

方法2:

public class emperor 

//通過該方法獲得例項物件

public static emperor getinstance()

}    

}return defaultinstance;}}

方法3:

public class emperor 

//通過該方法獲得例項物件

public synchronized static emperor getinstance() 

return emperor ;}

四.結尾單例就是這麼簡單,謝謝大家指正。

設計模式之單例模式

前一段時間買了一本秦小波寫的 設計模式之禪 網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。自己對於設計模式的感覺就是乙個字 牛!感覺會23種設計模式並且會熟練運用的人,真的就是大師級的牛人了,設計模式是乙個專案主管或者架構師一定要會的東西...

設計模式之單例模式

package com.xie.singleton public class singleton 提供乙個共有的靜態的入口方法 public static singleton getinstance 懶漢式 延遲載入 提供乙個私有的靜態的成員變數,但不做初始化 private static sing...

設計模式之 單例模式

單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。單例模式 單件模式 使用方法返回唯一的例項 public class singleton private static singleton instance public static singleton geti...