常用設計模式總結

2021-10-07 21:34:45 字數 1726 閱讀 3063

某些類的頻繁建立和銷毀,毫無意義浪費系統開銷。單例模式保證在jvm中只存在乙個例項。

優勢:

1.減少new關鍵字的使用,降低系統開銷

2.避免對共享資源的多重占用

通過getlnstance()獲得物件的引用

(1)餓漢式

沒有加鎖同步,執行效率高,但類載入時即初始化,不經過懶載入,浪費記憶體

public

class

hungrysingleton

public

static hungrysingleton getinstance()

}

(2)懶漢式(執行緒不安全)

實現懶載入,在呼叫getinstance()後例項化物件,但沒有加鎖,不支援多執行緒

public

class

lazysingleton

public

static lazysingleton getinstance()

return singleton;

}}

(3)懶漢式(執行緒安全)

加鎖解決多執行緒,但每次呼叫getinstance()時都會上鎖,降低效能

public

class

synclazysingleton

public

static

synchronized synclazysingleton getinstance()

return instance;

}}

(4)雙重校驗鎖

對 instance進行校驗,為空時加鎖,提高效能

public

class

synclazysingleton2

public

static synclazysingleton2 getinstance()

}}return instance;

}}

(5)靜態內部類

懶載入策略,執行緒安全

public

class

innersingleton

public

static innersingleton getinstance()

public object serialize()

}

(1)簡單工廠模式

建立乙個工廠類,對實現了統一介面的一些類進行例項的建立。

//抽象類

abstract

class

animal

//具體實現

class

catextends

animal

public

void

sound()

}class

dog extend animal

public

void

sound()

}//簡單工廠

class

factoryif(

"dog"

.equals

(type)

)return animal;}}

public

class

test

else

}}

JAVA常用設計模式總結

導言 設計模式常常被分為以下三類 建立型 建立物件時,不再由我們直接例項化物件 而是根據特定場景,由程式來確定建立物件的方式。如,工廠方法 抽象工廠模式 單例模式等。構造型用於幫助將多個物件組織成更大的結構。如,介面卡模式 橋接模式 組合器模式等。行為型用於幫助系統間物件的通訊,以及如何控制複雜系統...

設計模式學習筆記七 常用設計模式原則總結

前面學習了一部分建立型模式,發現了乙個比設計模式更重要的東西 設計模式原則。對於設計模式來說,為什麼這個模式要這樣解決這個問題,而另乙個模式要那樣,它們背後都遵循的就是永恆的設計原則。可以說,設計原則是設計模式的靈魂。三大基本物件導向設計原則 1.針對介面程式設計,而不是針對實現程式設計 2。優先使...

常用設計模式

mvc 模型 檢視 控制器 通過 委託其他物件做事情 或者充當某些功能的中間類 觀察者 在乙個物件或者值發生變化時,對它的觀察者發出通知 單例模式 應用程式執行的過程中只有乙個例項 工廠模式 為物件的建立提供統一的介面 簡單工廠模式,工廠方法模式,抽象工廠模式 裝飾模式 為類動態新增方法 一般用ca...