JAVA常用設計模式總結 單例,工廠,抽象工廠

2021-06-10 02:46:26 字數 1570 閱讀 5973

設計模式常常被分為以下三類:

建立型

建立物件時,不再由我們直接例項化物件;而是根據特定場景,由程式來確定建立物件的方式。如,工廠方法、抽象工廠模式、單例模式等。

構造型用於幫助將多個物件組織成更大的結構。如,介面卡模式、橋接模式、組合器模式等。

行為型用於幫助系統間物件的通訊,以及如何控制複雜系統中的流程。如,命令模式、直譯器模式、迭代器模式等。

一、單例模式

public class singleton 

public static singleton getinstance()

return instance;

} public static void main(string args)

}

(spring中只需在配置實體bean中指定 scope="singleton",便可實現單例)

二、簡單工廠

當a例項需要呼叫b例項的方法時,不是通過new b例項,而是通過乙個能建立b例項的工廠bfactory來實現。

b b=new b();---à b b=bfactory().getb();

略為改進後變為:

當a例項需要呼叫某種方法時,這種方法可以由b例項或b1例項實現。那麼我們定義乙個介面ib,讓b和b1實現該介面。並且寫乙個ib工廠ibfactory,提供乙個getib()方法

public class a

public void showmessage()

}public inte***ce ib

public class b implements ib}

public clsss b1 implements ib}

public ibfactory}

--------------------------

ib ib=ibfactory.getib();

a a=new a(ib);

a.showmessage();

----------------------------

抽象工廠模式圖:

三、工廠方法和抽象工廠

在簡單工廠模式裡,系統使用productfactory工廠類生產所有產品例項,且工廠類來決定生產那個類的例項。

3.1 工廠方法在工廠方法中,如果我們不想在工廠類中進行邏輯判斷,程式可以為不同產品類提供不同的工廠,不同的工廠類生產不同的產品。

採用工廠方法後,客戶端**成功與被呼叫物件的實現類分離。

3.2 抽象工廠模式:為了解決客戶端**與不同工廠耦合的問題,接著考慮再增加乙個工廠類,該類生產outputfactory例項(根據傳入的引數,生產不同的工廠例項)

public class outputfactoryfactory  else 

}}

java設計模式 單例設計模式

public class main 餓漢式 空間換時間 多執行緒訪問不會建立多個物件 author admin class singleton 2建立本類物件 private static singleton s new singleton 3對外提供公共的訪問方法 public static si...

Java單例設計模式

單例設計模式也有人叫單態,基本上有兩種寫法一種是餓漢式,另外一種是懶漢式。餓漢式就是一開始就建立了例項物件 public class singleton public static singleton getintance 懶漢式是需要的時候才建立 它比較懶 而且會涉及執行緒同步問題,需要增加同步 ...

java 單例設計模式

單例設計模式 保證乙個類在記憶體中只有乙個物件。模式 模式就是解決 一類 問題的固定步驟 模式的概念最早起源於建築行業 建房子的步驟都是一樣子 打地基 澆柱子 蓋樓面 砌牆 封頂 裝修 入住軟體行業中23種設計模式 單例設計模式 模板設計模式 裝飾者設計模式 觀察者設計模式 工廠設計模式單例設計模式...