模式之單例模式

2021-08-22 13:24:06 字數 710 閱讀 5425

單例模式:要求乙個類有且只有乙個例項(物件)

那首先先說一下訪問限定符:

public:    可以在類中(本類、子類、其他類)、類外訪問

protected:    可以在本類、以及子類中訪問    

private:         只可以在本類類中訪問

那麼我的理解是:如果只能有乙個物件,那麼肯定與建構函式有關,所有物件的初始化都要經過建構函式,那麼對建構函式的訪問設定許可權控制,放在私有下,那麼就只能在本類中訪問了。

單利模式分為:懶漢模式和餓漢模式,下面**展示了區別,餓漢模式在類中就已經生成物件了,而懶漢模式是在main函式中呼叫的時候才生成物件。你可以試試,用時間**測一下,餓漢模式自然要快一點。

#include#includeusing namespace std;

//單例模式

class singleton

return instance;

}private:

singleton()

static singleton* instance;

};singleton* singleton::instance=new singleton();//餓漢模式,過早建立例項,降低記憶體效率

singleton* singleton::instance=null;//懶漢模式

int main()

單例模式 之 單例模式 Holder

之前我寫過 單例模式中的餓漢模式和懶漢模式 他們雖然都能實現單例模式 但是優缺點很明顯 餓漢模式 不能懶載入 類載入就會被例項化 消耗很大,在併發情況下安全性很高。懶漢模式 能實現懶載入,但是在併發情況下安全性不是很高。雖然一步一步的優化,安全性得到了保證,但是卻使用了synchronized 對效...

單例模式 單例模式

餓漢式 急切例項化 public class eagersingleton 2.宣告靜態成員變數並賦初始值 類初始化的時候靜態變數就被載入,因此叫做餓漢式 public static eagersingleton eagersingleton new eagersingleton 3.對外暴露公共的...

設計模式之單例模式

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