java 類庫和框架中用到的設計模式
阿新 • • 發佈:2019-01-27
Java io
裝飾器模式:
有一些流處理器可以對另一些流處理器起到裝飾作用,形成新的、具有改善了的功能的流處理器。
介面卡模式:
有一些流處理器是陣列介面卡對流處理器的適配。
Java 集合框架
裝飾器模式:
通過閱讀原始碼發現TreeSet和 HashSet 的實現其實是對 TreeMap 和 HashMap 的包裝,set 在 map 的基礎上刪減了一些功能並增加了一些特性。
Tomcat
觀察者模式:
Tomcat 對元件生命週期的控制和監聽可以說都是通過觀察者模式實現的。觀察者模式 jdk中有類庫實現它,但 Tomcat使用了自己的實現。
責任鏈模式:
Tomcat 的初始化過程和啟動過程都是責任鏈模式實現的。
模板方法模式:
Tomcat 原始碼中到處充滿著模板方法模式,每個元件的實現控制都用到了模板方法模式。
門面(外觀)模式:
Tomcat 內部 Request和Response物件通過門面模式轉化為servlet中的Request和Response物件。
Spring
工廠模式:
Spring 資料庫,bean的實現都用到了工廠模式。
模板方法模式:
Spring 原始碼中預留了很多擴充套件點,通過繼承父類並重寫某些方法可以自定義過程。
建造者模式:
Bean 的組裝。
代理模式:
在Aop實現中用到了JDK的動態代理;
單例模式:
這個比如在建立bean的時候
其他用到的設計模式
策略模式:
Sort 中的 Comparator這個介面。多執行緒的實現。
原型模式:
Object 類的 clone方法。
迭代器模式:
Java 集合框架中的各種迭代器。
在 java中,用到設計模式的地方簡直多如牛毛,只要心中有設計模式,那麼哪兒都會有設計模式的影子。