JAVA常用設計模式總結

2021-05-24 21:44:45 字數 1863 閱讀 1612

導言:

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

建立型

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

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

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

工廠模式圖:

一、單例模式

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 常用設計模式

一 單例設計模式 單例就是 保證乙個類僅有乙個例項,僅提供乙個訪問它的全域性訪問點。之前這個用得比較多 採用單例設計模式的類 singleton類 永遠只會有乙個例項化物件產生。具體實現步驟如下 1 將採用單例設計模式的類的構造方法私有化 採用private修飾 2 在其內部產生該類的例項化物件,並...

常用java設計模式

spring用到哪些設計模式 單例模式 public class singletondemo public static singletondemo getdemo return demo class testdemo 工廠模式 總體來說,凡是出現了大量的產品需要建立,並且具有共同的介面時,可以通過...

Java設計模式總結

一 策略模式 1 概念 策略模式定義了演算法族,並將演算法族封裝起來,演算法可以相互替換,演算法的變動不會影響請求該演算法的客戶。2 使用場景 1 在不同類需要不同行為,或者不同類需要相同行為但行為表現 內容 不同時,可以使用strategy模式。需注意,在設計繼承時需考慮是否使用策略模式,尤其繼承...