想學好設計模式?從物件導向開始
<內容簡介> 樣板模式引入電腦科學領域已經有20餘年了,最初人們側重於物件導向的設計,而現在已經應用於電腦領域的各個方面,它們對電腦產生了深遠影響。 若想一本書涵蓋所有模式,那麼這本書將會非常龐大,以前的設計模式書籍專注於介紹設計模式,雖然讀者瞭解了這些設計模式,但是仍然不知道如何合理地使用它們,往往導致讀者為了使用設計模式而設計,而不是從問題出發,使用設計模式優雅地解決這些問題。 本書主要從最基本的設計模式入手,並結合一些J2EE開發過程經常遇見的技術和概念,你將全面理解這10多個設計模式,並在開發過程中,讓你真正體會和思考物件導向程式編撰的想法,也只有掌握這些,你才會能成為一位真正的設計專家,這並不是一本物件導向和Java語言的入門書籍,閱讀物件主要是從事Java語言的軟體發展人員但不限於Java語言的開發人員。 從物件導向的眼光分析問題,並引入模式。給出J2EE實例,這些例子都是J2EE應用中被經常使用的。類比相近的模式,使讀者能夠掌握它們之間的區別與聯繫。融入軟體發展設計原則,指導讀者在實踐中正確使用這些原則。 如果您:反覆研習物件導向程式編寫,然而並未開發出真正物件導向的系統。應用了物件導向模式,但並未享受到物件導向為軟體帶來的好處。對模式和物件導向的理解停隧於表面,不會使用物件導向的觀點分析問題。那麼您應該從閱讀本書開始。 ★目錄: Part.1 模式介紹 第一章 談物件導向和模式 1.1 什麼是物件 1.2 物件導向的好處 1.3 重用 1.4 模式簡史 1.5 什麼是模式 1.6 學習設計模式的一些常見問題 1.7 本章關鍵字 第二章 第1個模式-模板方法(Template Method)模式 2.1 從回家過年說起 2.1.1 DRY(Don\'t Repeat Yourself) 2.1.2 變化+ 重複,如何維護 2.2 模版方法(Template Method)模式 2.2.1 使用繼承 2.2.2 模版方法模式 2.3 引入回檔(Callback) 2.4 總結 Part.2 建立物件 第三章 單例(Singleton)模式 3.1 最簡單的單例 3.2 進階 3.2.1 延遲建立 3.2.2 執行緒安全 3.2.3 Double-Check Locking 3.2.4 Initialization on demand holder 3.2.5 Singleton 的序列化 3.3 總結 3.4 本章關鍵字 第四章 工廠方法(Factory Method)模式 4.1 工廠方式模式 4.1.1 類別圖 4.1.2 建立資料庫連線物件 4.2 靜態工廠方法 4.3 總結 4.4 本章關鍵字 第五章 原型(Prototype)模式 5.1 原型模式 5.2 寄個快遞 5.3 實現 5.3.1 UML 靜態類別圖 5.3.2 程式實現 5.4 深拷貝(Deep Copy) 5.5 總結 5.6 本章關鍵字 第六章 控制反轉(IoC) 6.1 從建立物件談起 6.2 使用工廠方法模式的問題 6.3 Inversion of Control(控制反轉) 6.3.1 IoC 和DI(Dependency Injection,相依注入) 6-26 6.3.2 Service Locator(服務定位器) 6.3.3 Dependency Injection 6.4 總結 6.5 本章關鍵字 Part.3 建構複雜結構 第七章 裝飾器(Decorator)模式 7.1 記錄歷史修改 7.2 Open-Closed Principle(開放—封閉原則,OCP) 7.3 裝飾器(Decorator)模式 7.3.1 類別圖 7.3.2 實現 7.3.3 一點變化 7.3.4 如何使用 7.3.5 測試 7.4 裝飾器模式的優缺點 7.5 總結 7.6 本章關鍵字 第八章 代理(Proxy)模式 8.1 代理(Proxy)模式 8.1.1 類別圖 8.1.2 存取分散式物件 8.2 J2SE 動態代理 8.2.1 類別和介面 8.2.2 呼叫原理 8.2.3 實現同步 8.2.4 總結 8.3 和裝飾器(Decorator)模式的比較 8.4 總結 8.5 本章關鍵字 第九章 配接器(Adapter)模式 9.1 打樁 9.2 其他配接器模式 9.2.1 類別配接器 9.2.2 雙向配接器 9.3 測