關於單例設計模式的總結

2021-07-01 21:45:39 字數 919 閱讀 4980

1、什麼是單例設計模式

單例設計模式就是解決乙個類在記憶體中只有乙個物件。

想要保證物件唯一:

(1)為了避免其他程式過多的建立該類物件,選控制其他程式建立該類物件

(2)為了讓其他程式可以訪問到該類物件,只好在本類中自定義乙個物件

(3)為了方便其他程式對自定義物件訪問,可以對外提供一些訪問方式

2、單例設計模式的種類

種類一:餓漢式

/**

* 單例設計模式--餓漢式

*/class singlehungry

; //在類中建立乙個本類的物件

private static singlehungry s=new singlehungry();

//提供乙個方法可以獲取到該物件

public static singlehungry getinstance()

}

種類二:懶漢式

/**

* 單例設計模式--懶漢式(物件的延遲載入)

*/public class singlelazy ;

//提供乙個方法獲取到該類的物件

public static singlelazy getinstance()

}

種類三:懶漢式的公升級版

/**

* 單例設計模式--懶漢式(物件的延遲載入)的公升級版

*/public class singlelazyimprove ;

//提供乙個方法獲取到該類的物件

public static singlelazyimprove getinstance()

}return s;

}}

關於單例模式

單例模式 只能產生乙個例項物件 思路 不能外部new,只能內部new 構造方法要私有,構造方法私有後只能類自己呼叫 需要將物件 通過類自己的來構造例項 的引用變數設定成static修飾的這樣就屬於類本身,只有乙份,即乙個例項物件 構造的物件需要提供給外部,由於無法new物件來呼叫這個方法,因此需要乙...

關於單例設計模式的淺顯理解

首先,讓我們先來看看下面的乙個單例模式 public class singleton public synchronized static singleton getinstance 由於本類的構造方法是私有的,因此其他類無法通過new singleton 來建立本類的乙個例項,但本類提供了乙個公有...

關於單例模式的心結

今天重構公司的 看到有乙個單例的物件,在整個系統中到處都存在呼叫它的身影,因為我們這個專案會在應用伺服器 server 第一次啟動的時候載入資料庫中的 表 為什麼要先載入,因為這個專案採用的是c s模式,利用remoting進行通訊,在客戶端啟動的時候會多次獲取 表中的不同資料。複製 1 publi...