本書(shū)免費贈送中文版學(xué)習伴侶
★榮獲2005年第十五屆Jolt通用類(lèi)圖書(shū)震撼大獎。
★本書(shū)英文影印版被《程序員》等機構評選為2006年受讀者喜愛(ài)的十大IT圖書(shū)之一 。
★案例和程序雖然用Java編寫(xiě),但所介紹的內容對于任何OO語(yǔ)言的用戶(hù)都適用,包括C++和C#。
★信耶穌的人都要讀圣jing,信OO的人都要讀四人組的《設計模式》,而《設計模式》的原創(chuàng )者Erich Gamma欣然推薦《Head First 設計模式》。
《O'Reilly:Head First設計模式(中文版)》趨近完美,因為它在提供專(zhuān)業(yè)知識的同時(shí),仍然具有相當高的可讀性。
本書(shū)共有14章,每章都介紹了幾個(gè)設計模式,完整地涵蓋了四人組版本全部23個(gè)設計模式。
★前言介紹了這本書(shū)的用法
★第1章至第11章陸續介紹了設計模式:Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton、Command、Adapter、Facade、TemplatMethod、Iterator、Composite、State、Proxy。
★第12章介紹了如何將兩個(gè)以上的設計模式結合起來(lái)成為新的設計模式(例如,著(zhù)名的MVC模式),作者稱(chēng)其為復合設計模式。
★第13章介紹了如何進(jìn)一步學(xué)習設計模式,如何發(fā)掘新的設計模式等主題。
★附錄A介紹了剩下的設計模式:Bridge(橋接)、Builder(生成器)、Chainof Responsibility(責任鏈)、Flyweight(蠅量)、Interpreter(解釋器)、Mediator(中介者)、Memento(備忘錄)、Prototype(原型)、Visitor(訪(fǎng)問(wèn)者)。
另外,第1章至第9章還穿插介紹了四個(gè)OO基本概念(抽象、封裝、繼承、多態(tài)),以及九個(gè)OO原則(Principle)。千萬(wàn)不要輕視這些OO原則,因為每個(gè)設計模式背后都包含了幾個(gè)OO原則的概念。很多時(shí)候,在設計出現兩難情況時(shí)我們必須回歸到OO原則,以方便判斷取舍。
可以這么說(shuō):OO原則是我們的目標,而設計模式是我們的做法!
Eric Freeman和Elisabeth Freeman,是作家、講師,以及技術(shù)顧問(wèn)。原本在迪士尼公司領(lǐng)導了四年的數字媒體以及Internet的開(kāi)發(fā),后來(lái),他們將這些經(jīng)驗應用在他們自己的媒體中,包括本書(shū)。Eric具有耶魯大學(xué)的計算機科學(xué)博士學(xué)位,Elisabeth具有耶魯大學(xué)的計算機科學(xué)碩士學(xué)位。
引子
誰(shuí)適合讀這本書(shū)?
我們知道你的大腦在想什么
元認知
讓你的大腦就范
技術(shù)審校
致謝
1 歡迎來(lái)到設計模式世界:設計模式入門(mén)
模擬鴨子應用
Joe想到繼承
利用接口如何?
軟件開(kāi)發(fā)的不變真理
分開(kāi)變化和不變部分
設計鴨子的行為
測試鴨子的代碼
動(dòng)態(tài)地設置行為
封裝行為的大局觀(guān)
“有一個(gè)”比“是一個(gè)”更好
策略模式
共享模式詞匯的威力
我如何使用設計模式?
設計箱內的工具
習題解答
2 讓你的對象知悉現況
氣象觀(guān)測站
認識觀(guān)察者模式
出版者+訂閱者=觀(guān)罕者模式
五分鐘短?。河^(guān)察主題
定義觀(guān)察者模式
松耦合的威力
設計氣象站
實(shí)現氣象站
使用Java內建的觀(guān)察者模式
java.util.Observable的黑暗面
設計箱內的工具
習題解答
……
3 裝飾者模式:裝飾對象
4 工廠(chǎng)模式:烘烤OO的精華
5 單件模式:獨一無(wú)二的對象
6 命令模式:封裝調用
7 適配器模式與外觀(guān)模式:隨遇而安
8 模板方法模式:封裝算法
9 送代器與組合模式:管理良好的集合
10 狀態(tài)模式:事物的狀態(tài)
11 代理模式:控制對象訪(fǎng)問(wèn)
12 復合模式:模式中的模式
13 與設計模式相處:真實(shí)世界中的模式
A 附錄A:剩下的模式