單例模式的進化過程

2021-07-22 12:52:05 字數 566 閱讀 9001

一說到設計模式,大家一定會想到單例模式。當然,單例模式也有很多的版本哦

最大眾的版本

class singleton

return pstr;

}private:

singleton();

}singleton *singleton::pstr = null;

當然,這個模式不是執行緒安全的,那我們就寫乙個執行緒安全的單例模式

class singleton

private:

singleton();

}singleton *singleton::pstr = new singleton();

又有同學會說,這樣物件只能在堆上建立啊,並且存在物件過早建立的現象,浪費記憶體,那好,我們來寫乙個最終版的單例模式

class singleton

private:

singleton();

}

充分利用了static關鍵字具有記憶性的特性。

單例模式 單例模式

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

單例 單例模式

簡單的實現乙個單例 instancetype sharedinstance return instance 真正的單例模式 myclass sharedinstance return instance id allocwithzone nszone zone return nil id copywi...

多個單例模式單例模式的應用

我們在程式設計中需要乙個單例,但不僅僅是乙個單例,更多的是需要單例中的單例 即 類a為控制器,類b為例項面板 為方便找到類a,採用單例,而類a為方便找到類b,採用單例中的單例 單例a 單例b 第二個不要用new a.getinstance b.呼叫方法 import b public class a...