導言:
設計模式常常被分為以下三類:
建立型
建立物件時,不再由我們直接例項化物件;而是根據特定場景,由程式來確定建立物件的方式。如,工廠方法、抽象工廠模式、單例模式等。
構造型用於幫助將多個物件組織成更大的結構。如,介面卡模式、橋接模式、組合器模式等。
行為型用於幫助系統間物件的通訊,以及如何控制複雜系統中的流程。如,命令模式、直譯器模式、迭代器模式等。
工廠模式圖:
一、單例模式
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模式。需注意,在設計繼承時需考慮是否使用策略模式,尤其繼承...