單例模式
通常作為程式中存放配置資訊的載體,因為它能保證其他物件讀到一致的資訊。
特點:
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...