13 常見設計模式

2021-10-10 07:54:41 字數 1610 閱讀 5691

建立型模式(5):工廠方法、抽象工廠、單例、原型建造者

結構型模式(7):介面卡、裝飾器、**、外觀、橋接、組合、享元

行為型模式(11):策略、模擬方法、觀察者、迭代子、責任鏈、命令、備忘錄、狀態、訪問者、中介者、直譯器

所謂單例設計模式:就是採取一定的方法保證在整個的軟體系統中,對某個類只能存在乙個物件例項

如何實現?

優點:

餓漢式:

懶漢式(好一點):

**的計數器,一般也是單例模式實現,否則難以同步。

應用程式的日誌應用,一般都使用單例模式實現,這一般是由於共享的日誌

檔案一直處於開啟狀態,因為只能有乙個例項去操作, 否則內容不好追加。

資料庫連線池的設計一般也是採用單例模式,因為資料庫連線是一種資料庫資源。

專案中, 讀取配置檔案的類,一般也只有乙個物件。沒有必要每次使用配置檔案資料,都生成乙個物件去讀取。

pplication 也是單例的典型應用

windows的task manager (任務管理器)就是很典型的單例模式

indows的recycle bin(**站)也是典型的單例應用。在整個系統執行過程中,**站一直維護著僅有的乙個例項。

1、餓漢式
public

class

e_han_shi

}class

bank

//② 內部建立類的物件

private

static bank instance =

newbank()

;//③ 提供 公共 靜態的方法,返回類的物件

//④ 要求此物件也必須宣告為靜態的

public

static bank getinstance()

}

2、懶漢式
public

class

lan_han_shi

}class

order

//② 內部 宣告 的物件,沒有初始化 (注意,是宣告 不是建立)

private

static order instance = null;

//與餓漢的主要區別

//③ 提供 公共 靜態的方法,返回類的物件

//④ 要求此物件也必須宣告為靜態的

public

static order getinstance()

return instance;

}}

設計模式 13)狀態模式

abstract class state class forenoonstate state 點,working w.hour else class noonstate state 點,sleep w.hour else class afternoonstate state 點,working w....

常見設計模式

設計模式的目的 將易變的事物與不變的事物分開,隔離 中的更改。public class singleton6 public static singleton6 getinstance return instance 單例模式的幾種實現方式 餓漢式單例設計模式 public class runtime...

設計模式 1 3 抽象工廠模式

抽象工廠模式 它的定義為提供乙個建立一系列相關或相互依賴物件的介面,而無須指定他們具體的類。例項 工廠不僅可以生產單核處理器,也可以生產多核處理器。乙個工廠專門生產a型號的單核多核處理器,令乙個工廠專門用來生產b型號的單核多核處理器。簡單工廠模式的最大優點 工廠類中包含了必要的邏輯判斷,根據客戶端的...