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