設計模式第一招 單例模式

2021-08-28 01:48:18 字數 671 閱讀 8077

最簡單的模式:單例模式

1、什麼是單例模式?就是乙個類,只允許new一次。比如家裡只有乙個廁所,每次只能有乙個人在裡邊蹲,第二個人只能等第乙個人拉完了才能進去。那怎麼樣才能實現這種場景呢?那就得使用設計模式中的第一招:單例模式。

public class tolet 

//定義乙個private的靜態類並new

private static tolet t=new tolet();

//定義乙個public的靜態方法,供外邊的類使用

public static tolet gettolet()

}

大家看以上就是單例模式的完整版本,是不是超級簡單?這個也叫餓漢式單例,為什麼這麼叫呢??因為他在定義屬性的時候就直接new了,像乙個餓漢一樣,上來就要幹了。對應的,還有乙個叫懶漢式,開始不new,等到要用到時,才會new。

public class tolet 

//定義乙個private的靜態類但是不new

private static tolet t=null;

//定義乙個public的靜態方法,供外邊的類使用

public static tolet gettolet()

return t;

}}

這個單例模式就是這麼的簡單

一招搞定設計模式 工廠模式

在 mybatis中比如 sqlsession factory使用的是工廠模式,該工廠沒有那麼複雜的邏輯,是乙個簡單工廠模式。簡單工廠模式 factory pattern 又稱為靜態工廠方法 static factory method模式,它屬於建立型模式。在簡單工廠模式中,可以根據引數的不同返回不...

設計模式 一 單例模式

思路 1 如果其他程式能夠隨意用new建立該類物件,那麼就無法控制個數。因此,不讓其他程式用new建立該類的物件。2 既然不讓其他程式new該類物件,那麼該類在自己內部就要建立乙個物件,否則該類就永遠無法建立物件了。3 該類將建立的物件對外 整個系統 提供,讓其他程式獲取並使用。步驟 1 將該類中的...

設計模式(一) 單例模式

這種模式只涉及到乙個單一的類,該類負責建立自己的物件,並確保只建立乙個物件。單例只有乙個例項 單例類必須建立自己唯一的例項 單例類必須給其他物件提供這唯一的例項 由於當今的程式設計模型都是基於多執行緒方式,因此此處只介紹執行緒安全的幾種實現。第一次被呼叫時才建立物件,屬於懶載入 lazy init ...