C 設計模式01 單例模式的三種寫法

2022-02-18 06:34:19 字數 1108 閱讀 7206

第一種

//

在方法裡new ,這裡使用 雙if-lock

public

class

singlefirst

public

static

singlefirst getinstance()}}

return

_singlefirst;}}

第二種

///

///在建構函式裡new(), 在方法返回

/// public

class

singlesecond

static

singlesecond()

public

static

singlesecond getinstance()

}

第三種

///

///在靜態欄位裡new(),方法裡返回

/// public

class

singlethrid

public

static

singlethrid getinstance()

}

執行測試

var a1 =singlefirst.getinstance();

var a2 =singlefirst.getinstance();

console.writeline($

"a1 和 a2 是同一例項:");

;var b1 =singlesecond.getinstance();

var b2 =singlesecond.getinstance();

console.writeline($

"b1 和 b2 是同一例項:");

var c1 =singlethrid.getinstance();

var c2 =singlethrid.getinstance();

console.writeline($

"c1 和 c2 是同一例項:

單例設計模式的三種方式

單例模式 0 保證乙個類只能獲取乙個例項 1,步驟 1.構造方法私有化 外部不能訪問,無法建立例項 2.在類的內部自己建立自己的例項,並且設定為static 因為外部不能獲取其實例,只能靜態獲取 public class singleton 單例 final修飾的 class student 單例 ...

c 三種單例模式實現

因為在設計或開發中,肯定會有這麼一種情況,乙個類只能有乙個物件被建立,如果有多個物件的話,可能會導致狀態的混亂和不一致。這種情況下,單例模式是最恰當的解決辦法。它有很多種實現方式,各自的特性不相同,使用的情形也不相同。今天要實現的是常用的三種,分別是餓漢式 懶漢式和多執行緒式。通過單例模式,可以做到...

C 單例模式的三種寫法

第一種最簡單,但沒有考慮執行緒安全,在多執行緒時可能會出問題,不過俺從沒看過出錯的現象,表鄙視我 public class singleton public static singleton createinstance return instance 第二種考慮了執行緒安全,不過有點煩,但絕對是正...