W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
[美] 弗里曼(Freeman E.) 等 著,UML China 編,OReilly Taiwan公司 譯
本書免費(fèi)贈送中文版學(xué)習(xí)伴侶
★榮獲2005年第十五屆Jolt通用類圖書震撼大獎(jiǎng)。
★本書英文影印版被《程序員》等機(jī)構(gòu)評選為2006年受讀者喜愛的十大IT圖書之一 。
★案例和程序雖然用Java編寫,但所介紹的內(nèi)容對于任何OO語言的用戶都適用,包括C++和C#。
★信耶穌的人都要讀圣jing,信OO的人都要讀四人組的《設(shè)計(jì)模式》,而《設(shè)計(jì)模式》的原創(chuàng)者Erich Gamma欣然推薦《Head First 設(shè)計(jì)模式》。
《O'Reilly:Head First設(shè)計(jì)模式(中文版)》趨近完美,因?yàn)樗谔峁I(yè)知識的同時(shí),仍然具有相當(dāng)高的可讀性。
本書共有14章,每章都介紹了幾個(gè)設(shè)計(jì)模式,完整地涵蓋了四人組版本全部23個(gè)設(shè)計(jì)模式。
★前言介紹了這本書的用法
★第1章至第11章陸續(xù)介紹了設(shè)計(jì)模式:Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton、Command、Adapter、Facade、TemplatMethod、Iterator、Composite、State、Proxy。
★第12章介紹了如何將兩個(gè)以上的設(shè)計(jì)模式結(jié)合起來成為新的設(shè)計(jì)模式(例如,著名的MVC模式),作者稱其為復(fù)合設(shè)計(jì)模式。
★第13章介紹了如何進(jìn)一步學(xué)習(xí)設(shè)計(jì)模式,如何發(fā)掘新的設(shè)計(jì)模式等主題。
★附錄A介紹了剩下的設(shè)計(jì)模式:Bridge(橋接)、Builder(生成器)、Chainof Responsibility(責(zé)任鏈)、Flyweight(蠅量)、Interpreter(解釋器)、Mediator(中介者)、Memento(備忘錄)、Prototype(原型)、Visitor(訪問者)。
另外,第1章至第9章還穿插介紹了四個(gè)OO基本概念(抽象、封裝、繼承、多態(tài)),以及九個(gè)OO原則(Principle)。千萬不要輕視這些OO原則,因?yàn)槊總€(gè)設(shè)計(jì)模式背后都包含了幾個(gè)OO原則的概念。很多時(shí)候,在設(shè)計(jì)出現(xiàn)兩難情況時(shí)我們必須回歸到OO原則,以方便判斷取舍。
可以這么說:OO原則是我們的目標(biāo),而設(shè)計(jì)模式是我們的做法!
Eric Freeman和Elisabeth Freeman,是作家、講師,以及技術(shù)顧問。原本在迪士尼公司領(lǐng)導(dǎo)了四年的數(shù)字媒體以及Internet的開發(fā),后來,他們將這些經(jīng)驗(yàn)應(yīng)用在他們自己的媒體中,包括本書。Eric具有耶魯大學(xué)的計(jì)算機(jī)科學(xué)博士學(xué)位,Elisabeth具有耶魯大學(xué)的計(jì)算機(jī)科學(xué)碩士學(xué)位。
★“本書趨近完美,因?yàn)樗谔峁I(yè)知識的同時(shí),仍然具有相當(dāng)高的可讀性。”
——David Gelernter ,耶魯大學(xué)計(jì)算機(jī)科學(xué)系教授
★“我昨天收到這本書,在回家的路上就開始讀……我簡直欲罷不能。于是把書帶到健身房,一邊運(yùn)動,一邊讀。這真是太酷了!不但有趣,涵蓋面廣,而且切中要點(diǎn)。本書讓我感到印象深刻。”
——Erich Gamma,IBM杰出工程師 《Design Patterns》作者之一
★“本書集樂趣、洞察力、技術(shù)深度以及實(shí)用于一身,是一本寓教于樂的好書。不管是初次學(xué)習(xí)設(shè)計(jì)模式,還是經(jīng)驗(yàn)豐富的老手,都可以從參觀對象村的過程中學(xué)到東西”
——Erich Gamma,IBM杰出工程師 《Design Patterns》作者之一
★“到處都在用Java技術(shù),移動電話、汽車、照相機(jī)、打印機(jī)、游戲、PDA、ATM、智能卡、體育館、醫(yī)療設(shè)備、Web攝像機(jī)、服務(wù)器等,無不有Java的身影。如果你想開發(fā)軟件卻還沒學(xué)過Java,Head First是不二的選擇。”
——Erich Gamma,IBM杰出工程師 《Design Patterns》作者之一
引子
誰適合讀這本書?
我們知道你的大腦在想什么
元認(rèn)知
讓你的大腦就范
技術(shù)審校
致謝
1 歡迎來到設(shè)計(jì)模式世界:設(shè)計(jì)模式入門
模擬鴨子應(yīng)用
Joe想到繼承
利用接口如何?
軟件開發(fā)的不變真理
分開變化和不變部分
設(shè)計(jì)鴨子的行為
測試鴨子的代碼
動態(tài)地設(shè)置行為
封裝行為的大局觀
“有一個(gè)”比“是一個(gè)”更好
策略模式
共享模式詞匯的威力
我如何使用設(shè)計(jì)模式?
設(shè)計(jì)箱內(nèi)的工具
習(xí)題解答
2 讓你的對象知悉現(xiàn)況
氣象觀測站
認(rèn)識觀察者模式
出版者+訂閱者=觀罕者模式
五分鐘短?。河^察主題
定義觀察者模式
松耦合的威力
設(shè)計(jì)氣象站
實(shí)現(xiàn)氣象站
使用Java內(nèi)建的觀察者模式
java.util.Observable的黑暗面
設(shè)計(jì)箱內(nèi)的工具
習(xí)題解答
……
3 裝飾者模式:裝飾對象
4 工廠模式:烘烤OO的精華
5 單件模式:獨(dú)一無二的對象
6 命令模式:封裝調(diào)用
7 適配器模式與外觀模式:隨遇而安
8 模板方法模式:封裝算法
9 送代器與組合模式:管理良好的集合
10 狀態(tài)模式:事物的狀態(tài)
11 代理模式:控制對象訪問
12 復(fù)合模式:模式中的模式
13 與設(shè)計(jì)模式相處:真實(shí)世界中的模式
A 附錄A:剩下的模式
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: