常用設計模式

2021-09-26 22:50:53 字數 2689 閱讀 4341

分為:

飽漢式:一出來就建立單例項

飢漢式:需要時才建立

構造方法私有化,讓出了自己類中能建立外其他地方都不能建立

在自己的類中建立乙個單例項

提供乙個方法獲取該例項物件(建立時需要進行方法同步)

package com.zyc.single;

/** * 單例模式

* 飽漢式:載入類時就會建立

*/public

class

demo01

//2.建立飽漢式例項

private

static demo01 demo =

newdemo01()

;public

static demo01 protudedemo()

public

void

test()

}

package com.zyc.single;

/** * 飢漢式單例

*/public

class

demo02

private

static demo02 demo = null;

//建立飢漢式

//當需要例項時在建立物件

//注意要加synchronized同步鎖,保證唯一性

public

static

synchronized demo02 productdemo02()

return demo;

}public

void

test()

}

建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。簡單工廠模式的實質是由乙個工廠類根據傳入的引數,動態決定應該建立哪乙個產品類(這些產品類繼承自乙個父類或介面)的例項。

實現方式:

a) 抽象產品類(也可以是介面)

b) 多個具體的產品類

c) 工廠類(包括建立a的例項的方法)

package com.zyc.factory;

/** * 介面或抽象類

*/public

inte***ce

music

//各個實現類

package com.zyc.factory;

public

class

***music

implements

music

@override

public

void

stop()

}package com.zyc.factory;

public

class

mp4music

implements

music

@override

public

void

stop()

}/**

*構建普通工廠

*/package com.zyc.factory;

public

class

musicfactoryif(

"mp4music"

.equals

(type)

)return c;

}}

優點:

工廠類是整個模式的關鍵.包含了必要的邏輯判斷,根據外界給定的資訊,決定究竟應該建立哪個具體類的物件.通過使用工廠類,外界可以從直接建立具體產品物件的尷尬局面擺脫出來,僅僅需要負責「消費」物件就可以了。而不必管這些物件究竟如何建立及如何組織的.明確了各自的職責和權利,有利於整個軟體體系結構的優化。

缺點:

由於工廠類集中了所有例項的建立邏輯,違反了高內聚責任分配原則,將全部建立邏輯集中到了乙個工廠類中;它所能建立的類只能是事先考慮到的,如果需要新增新的類,則就需要改變工廠類了。當系統中的具體產品類不斷增多時候,可能會出現要求工廠類根據不同條件建立不同例項的需求.這種對條件的判斷和對具體產品型別的判斷交錯在一起,很難避免模組功能的蔓延,對系統的維護和擴充套件非常不利;

與工廠方法模式不同的是,工廠方法模式中的工廠只生產單一的產品,而抽象工廠模式中的工廠生產多個產品

package com.zyc.factory;

/** * 抽象工廠法

*/public

abstract

class

mufactoryabstract

package com.zyc.factory;

public

class

***musicfactory

extends

mufactoryabstract

}package com.zyc.factory;

public

class

mp4musicfactory

extends

mufactoryabstract

}

測試
package com.zyc.factory;

/** * 工廠建立物件

*/public

class

testfactory

}

常用設計模式

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

常用設計模式

常用設計模式有工廠模式 道理模式以及生產者消費者模式 使用靜態內部類的方式可以保證執行緒安全,並且比同步方法的效能好。package com.qqyumidi public class singleton 私有化建構函式 private singleton public static singlet...

常用設計模式

工作一年c 服務端開發,最常用的就是單例模式,那我就從這個開始 1.單例模式是一種只能宣告乙個物件的特殊類 只有乙個例項 該模式的作用是節約系統資源。實現 建構函式和拷貝建構函式私有化。2.簡單工廠模式 簡單工廠模式實際就是建立乙個工廠類,該類根據建立產品的型別引數來呼叫不同的產品類的建構函式 3....