讀書筆記 設計模式(二) 單例模式

2021-08-07 15:06:48 字數 810 閱讀 4995

確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。

確保某個類有且只有乙個物件的場景,避免產生多個物件消耗過多的資源,或者某種型別的物件只應該有且只有乙個。

1、懶漢模式

public

class people

public

static synchronized people getinstance()

return instance;

}}

2、餓漢模式
public

class people

public

static people getinstance()

}

3、double check lock(dcl) (建議使用)
public

class people

public

static people getinstance()}}

return instance;

}}

4、靜態內部類 (建議使用)
public

class people

public

static people getinstance()

private

static

class peopleholder

}

5、列舉

設計模式讀書筆記 單例模式

有時候某些物件我們只需要乙個,如 執行緒池 快取 對話方塊等等,對於這類物件我們只能有乙個例項,如果我 們製造出多個例項,就會導致很多問題產生。但是我們怎樣才能保證乙個類只有乙個例項並且能夠便於訪問?這裡我們想到了全域性變數,全域性變數確實是可以 保證該類可以隨時訪問,但是它很難解決只有乙個例項問題...

設計模式讀書筆記 單例模式

有時候某些物件我們只需要乙個,如 執行緒池 快取 對話方塊等等,對於這類物件我們只能有乙個例項,如果我 們製造出多個例項,就會導致很多問題產生。但是我們怎樣才能保證乙個類只有乙個例項並且能夠便於訪問?這裡我們想到了全域性變數,全域性變數確實是可以 保證該類可以隨時訪問,但是它很難解決只有乙個例項問題...

大話設計模式 讀書筆記2單例模式

這裡需要例項化但不使用new方式,可以在構造方法前面新增private,私有化構造方法。使用背景 所有類都有構造方法,不單獨編寫構造方法則系統預設使用空構造,單獨編寫構造方法的話,預設的構造器就會失效 然後需要單獨建立乙個公共方法來專門返回乙個類例項。在該方法中需要對是否例項化有乙個判斷,若沒有例項...