Java(十一)設計模式

2021-08-17 19:14:09 字數 1703 閱讀 4153

單例模式

通常作為程式中存放配置資訊的載體,因為它能保證其他物件讀到一致的資訊。

特點:

1.只能有乙個例項。

2.必須自己建立自己的唯一例項。

3.必須給所有其他物件提供這一例項。

1.餓漢式:

class singleton1 

//2,建立本類物件

private

static singleton1 s = new singleton1();

//3,對外提供公共的訪問方法

public

static singleton1 getinstance()

}

2.懶漢式,單例的延遲載入模式:開發中不怎麼用到,用於面試筆試

class singleton2 

//2,宣告乙個引用

private

static singleton2 s = null;

//3,對外提供公共的訪問方法

public

static singleton2 getinstance()

return s;

}}

餓漢式和懶漢式的區別

1.餓漢式是空間換時間,懶漢式是時間換空間。

2.在多執行緒訪問時,餓漢式不會建立多個物件,而懶漢式有可能會建立多個物件。

3.列舉

enum

singlenton3

4.靜態內部類

class singleton4 

public

static singletonholder

public

static

final singleton4 getinstance()

}

5.靜態**塊

class

singleton5()

}

工廠模式

為建立物件提供過度介面,以便將建立物件的具體過程遮蔽並隔離起來,達到提高靈活性的目的。

可分三類,且從上到下逐步抽象,更具一般性。

1.簡單工廠模式(simmple factory):靜態工廠模式。不利於產生系列產品。

2.工廠方法模式(factory method):多形性工廠。

3.抽象工廠模式(abstract factory):工具箱。產生產品族,但不利於產生新的產品。

介面卡模式

介面卡

* 在使用***的時候, 需要定義乙個類事件***介面。

* 通常介面中有多個方法, 而程式中不一定所有的都用到, 但又必須重寫, 這很繁瑣。

* 介面卡簡化了這些操作, 我們定義***時只要繼承介面卡, 然後重寫需要的方法即可。

* b.介面卡原理

* 介面卡就是乙個類, 實現了***介面, 所有抽象方法都重寫了, 但是方法全是空的.

* 介面卡類需要定義成抽象的,因為建立該類物件,呼叫空方法是沒有意義的

* 目的就是為了簡化程式設計師的操作, 定義***時繼承介面卡, 只重寫需要的方法就可以了.

Java 設計模式(十一)命令模式

命令模式 將乙個請求封裝為物件,從而使我們可用不同的請求對客戶進行引數化 對請求排隊或者記錄請求日誌,以及支援可撤銷的操作。也稱為 動作 action 模式 事務 transaction 模式。結構圖 示例 receiver接收者 真正的命令執行者 public class receiver pub...

Java設計模式(十一) 組合模式

組合模式 一 定義 二 結構 三 具體案例 四 適用性 五 總結 一 定義 將物件組合成樹形結構以表示 部分整體 的層次結構。組合模式使得使用者對單個物件和使用具有一致性。二 結構 類圖 角色 1.component 是組合中的物件宣告介面,在適當的情況下,實現所有類共有介面的預設行為。宣告乙個介面...

java設計模式之十一 介面卡模式

介面卡模式 類似於充電那樣,將充電器作為介面卡,把220v電壓轉化為5v電壓。220放電介面 inte ce ichinad放電類 class chinad implements ichinad 手機介面 inte ce imobole手機實現類 class mobile 介面卡 class ada...