單例模式及實現方法

2021-09-02 13:29:29 字數 972 閱讀 4085

所謂單例模式,就是指乙個類只能實現乙個例項,並且提供方法訪問獲取該例項。單例模式有幾種常見的實現方式。

1.簡單模式,沒有實現延遲載入

public class singleton

private singleton instance = new singleton();

public static singleton getinstance()

}

2.內部靜態類方式

public class singleton

public static singleton getinstance()

}

通過靜態內部類實現延遲載入

3.同步**方式

public class singleton

public static synchronized singleton getinstance()

return instance;

}private static volatile singleton instance1;

public static singleton getinstance1()}}

return instance1;}}

synchronized同步方法比較耗效能,因此可以採用預判斷+synchronized**塊的方式實現,volatile關鍵字可以儲存記憶體的可見一致性。

4.列舉

public enum enumsingleton

private string name;

public string getname()

}

使用列舉模式可以避免例項進行通過序列化後反序列化再生成乙個例項。

Swift 單例模式實現及類方法

在開始單例模式之前我們先講一下類方法。應為單例模式需要依靠類方法來實現 首先,我們知道類方法就是 直接使用類名來呼叫,無需生成物件,再去呼叫。其實類方法的生成很簡單,只需要給我們之前的物件方法用class關鍵字來修飾即可 我們來看乙個示例 物件方法 func username string 類方法c...

單例模式及c 實現

昨天面試 面試官讓我寫個單例模式,一時語塞。慚愧設計模式沒看好,回來研究了一下,在單例模式建構函式是可以private的,用靜態成員函式getinstance來獲得例項。單例模式 作為物件的建立模式,單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱為單例類。單例模式...

單例模式及C 實現

我們都很清楚乙個簡單的單例模式該怎樣去實現 建構函式宣告為private或protect防止被外部函式例項化,內部儲存乙個private static的類指標儲存唯一的例項,例項的動作由乙個public的類方法代勞,該方法也返回單例類唯一的例項。上 class singleton private s...