單例模式的討論

2021-06-09 18:07:45 字數 432 閱讀 3345

單例相對於靜態變數的優勢:

(1),可以支援延遲載入

(2),可以支援多型

最簡單的單例模式

public

class singleton   

public

static foo getinstance()   

靜態內部類

, 只有當有引用時

, 內部類才會被裝載,從而實現延遲載入

當需求是需要該類有唯一例項,但該類的初始化需要外部資訊

public

class singleton else

if(aparam == 1){

instance = new subsingleton2();

else{

instance = new singleton();

return instance;

單例模式 單例模式

餓漢式 急切例項化 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...