1. 程式人生 > >java 類庫和框架中用到的設計模式

java 類庫和框架中用到的設計模式

Java io

裝飾器模式:

有一些流處理器可以對另一些流處理器起到裝飾作用,形成新的、具有改善了的功能的流處理器。

介面卡模式:

有一些流處理器是陣列介面卡對流處理器的適配。

Java 集合框架

裝飾器模式:

通過閱讀原始碼發現TreeSet和 HashSet 的實現其實是對 TreeMap 和 HashMap 的包裝,set 在 map 的基礎上刪減了一些功能並增加了一些特性。

Tomcat

觀察者模式:

Tomcat 對元件生命週期的控制和監聽可以說都是通過觀察者模式實現的。觀察者模式 jdk中有類庫實現它,但 Tomcat使用了自己的實現。

責任鏈模式:

Tomcat 的初始化過程和啟動過程都是責任鏈模式實現的。

模板方法模式:

Tomcat 原始碼中到處充滿著模板方法模式,每個元件的實現控制都用到了模板方法模式。

門面(外觀)模式:

Tomcat 內部 RequestResponse物件通過門面模式轉化為servlet中的RequestResponse物件。

Spring

工廠模式:

Spring 資料庫,bean的實現都用到了工廠模式。

模板方法模式:

Spring 原始碼中預留了很多擴充套件點,通過繼承父類並重寫某些方法可以自定義過程。

建造者模式:

Bean 的組裝。

代理模式:

Aop實現中用到了JDK的動態代理;

單例模式:

這個比如在建立bean的時候

其他用到的設計模式

策略模式:

Sort 中的 Comparator這個介面。多執行緒的實現。

原型模式

Object 類的 clone方法。

迭代器模式:

Java 集合框架中的各種迭代器。

java中,用到設計模式的地方簡直多如牛毛,只要心中有設計模式,那麼哪兒都會有設計模式的影子。