Java實現 各類開發設計模式學習

2021-08-19 10:40:51 字數 1058 閱讀 9929

單例模式

(singleton pattern)

定義:ensure a class has only one instance, and provide a global point of access to it.(

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

)單例模式有以下三個特點:

一、單例類在整個系統中只能有乙個例項

二、單例類必須自己建立自己的例項

三、單例類必須系統中其他物件提供這個例項

單例模式的好處就是:類只例項化一次,省資源,節省開銷,提高速度

實現方式兩種:

第一種:餓漢式,在類被載入時,靜態變數 s_instance 會被初始化,此時類的私有構造子會被呼叫。

public class singletonone

//對外提供共有方法獲取該例項物件

public( synchronized )static singletonone getinstance()

}第二種:懶漢式,對靜態工廠方法使用了同步化,以處理多執行緒環境

public class singletontwo

//synchronized保證執行緒安全

public synchronized static singletontwo getinstance()

return s_getinstance;}}

補充什麼是執行緒安全?

如果**所在的程序中有多個執行緒在同時執行,而這些執行緒可能會同時執行這段**,如果每次執行結果和單執行緒執行的結果是一樣的,而且其他的變數的值也和預期的是一樣的,就是執行緒安全的。

使用場景:

● 要求生成唯一序列號的環境;

● 在整個專案中需要乙個共享訪問點或共享資料,例如乙個web頁面上的計數器,可以不用把每次重新整理都記錄到資料庫中,使用單例模式保持計數器的值,並確保是執行緒安全的;

● 建立乙個物件需要消耗的資源過多,如要訪問io和資料庫等資源;

● 需要定義大量的靜態常量和靜態方法(如工具類)的環境,可以採用單例模式(當然,也可以直接宣告為static的方式)。

未完待續。。。

設計模式Java實現(一)

工廠模式 工廠模式在實踐中有如下三種常用 簡單工廠 factory 工廠方法 factory method 和抽象工廠 abstract factory 其中 factory並不是gof提出的23種設計模式之一,但由於其實現簡單所以也被廣泛使用。簡單工廠 類設計圖 工廠方法 類設計圖 抽象工廠 類設...

設計模式1 工廠模式 Java實現

一 應用場景 提供建立物件的介面,可以遮蔽建立物件的具體過程,提高程式 的靈活性。二 分類 工廠模式在設計模式中有三種 1.簡單工廠模式,即靜態工廠模式 factory 2.工廠方法模式 factory method 3.抽象工廠模式 abstract factory 三 具體介紹 1.簡單工廠有三...

設計模式總結之工廠模式 java實現

這是針對面試的解答 這是面試經常會被問到的設計模式,工程模式分為簡單工廠模式 factory 靜態工廠模式 工廠方法模式 factory method 抽象工廠模式 abstract factory 其中後兩者屬於23種常用的設計模式。簡單工廠模式不屬於23種常用的設計模式。首先讓我們來看下簡單工廠...