大話設計模式

大話設計模式

《大話設計模式》通篇都是以情景對話的形式,用多個小故事或編程示例來組織講解GoF總結的23個設計模式。《大話設計模式》共分為29章。其中,第1、3、4、5章著重講解了面向對象的意義、好處以及幾個重要的設計原則;第2章,以及第6到第28章詳細講解了23個設計模式;第29章是對設計模式的全面總結。附錄部分是通過一個例子的演變為初學者介紹了面向對象的基本概念。《大話設計模式》的特色是通過小菜與大鳥的趣味問答,在講解程式的不斷重構和演變過程中,把設計模式的學習門檻降低,讓初學者可以更加容易地理解——為什麼這樣設計才是好的?是怎樣想到這樣設計的?以達到不但授之以“魚”,還授之以“漁”的目的。引導讀者體會設計演變過程中蘊藏的大智慧。

基本信息

內容提要

本書通篇都是以情景對話的形式,用多個小故事或編程示例來組織講解GoF(設計模式的經典名著——DesignPatterns:ElementsofReusableObject-OrientedSoftware,中譯本名為《設計模式——可復用面向對象軟體的基礎》的四位作者ErichGamma、RichardHelm、RalphJohnson,以及JohnVlissides,這四人常被稱為GangofFour,即四人組,簡稱GoF)總結的23個設計模式。本書共分為29章。其中,第1、3、4、5章著重講解了面向對象的意義、好處以及幾個重要的設計原則;第2章,以及第6到第28章詳細講解了23個設計模式;第29章是對設計模式的全面總結。附錄部分是通過一個例子的演變為初學者介紹了面向對象的基本概念。本書的特色是通過小菜與大鳥的趣味問答,在講解程式的不斷重構和演變過程中,把設計模式的學習門檻降低,讓初學者可以更加容易地理解——為什麼這樣設計才是好的?是怎樣想到這樣設計的?以達到不但授之以“魚”,還授之以“漁”的目的。引導讀者體會設計演變過程中蘊藏的大智慧。

本書適合編程初學者或希望在面向對象編程上有所提高的開發人員閱讀。

作者簡介

程傑,高級軟體工程師&高級培訓講師。從事軟體開發一線工作近八年時間。曾在申銀萬國證券公司、上海楊浦區政府、朝華集團下屬網遊公司、香港晨興集團等多行業項目開發中擔任主程及項目負責人,有豐富的大中型軟體開發經驗,以及多年的軟體設計與項目管理經驗。曾任加拿大慧橋培訓中心金牌講師,主持.NET高級軟體工程師的培訓工作;早年從事高中數學教學工作,曾在江蘇常州重點高中任教時獲得過市教學一等獎,這些教學和培訓經歷讓作者對如何以易懂的語言講解艱深的技術知識有了深刻的理解。

本書作者集多年實際項目開發經驗和豐富教學培訓經驗於一身,準確把握住編程初學者的視角,以淺顯幽默的語言向讀者詮釋了面向對象設計模式的精髓。

: 《大話設計模式》: 《大話設計模式》

第1章 代碼無錯就是優?——簡單工廠模式

1.1 面試受挫

1.2 初學者代碼毛病

1.3 代碼規範

1.4 面向對象編程

1.5 活字印刷,面向對象

1.6 面向對象的好處

1.7 複製vs.復用

1.8 業務的封裝

1.9 緊耦合vs.松耦合

1.10 簡單工廠模式

1.11UML類圖

第2章 商場促銷——

2.1 商場收銀軟體

2.2 增加打折

2.3 簡單工廠實現

2.4 策略模式

2.5 策略模式實現

2.6 策略與簡單工廠結合

2.7 策略模式解析

第3章 拍攝UFO——單一職責原則

3.1 新手機

3.2 拍攝

3.3 沒用的東西

3.4 單一職責原則

3.5 方塊遊戲的設計

3.6 手機職責過多嗎?

第4章 考研求職兩不誤——開放-封閉原則

4.1 考研失敗

4.2 開放-封閉原則

4.3 何時應對變化

4.4 兩手準備,並

第5章 會修電腦不會修收音機?——依賴倒轉原則

5.1 MM請求修電腦

5.2 電話遙控修電腦

5.3 依賴倒轉原則

5.4 里氏代換原則

5.5 修收音機

第6章 穿什麼有這么重要?——裝飾模式

6.1 穿什麼有這么重要?

6.2 小菜扮靚第一版

6.3 小菜扮靚第二版

6.4 裝飾模式

6.5 小菜扮靚第三版

6.6 裝飾模式總結

第7章 為別人做嫁衣——代理模式

7.1 為別人做嫁衣!

7.2 沒有代理的代碼

7.3 只有代理的代碼

7.4 符合實際的代碼

7.5 代理模式

7.6 代理模式套用

7.7 秀才讓小六代其求婚

第8章 雷鋒依然

——工廠

8.1 再現活雷鋒

8.2 簡單工廠模式實現

8.3 工廠方法模式實現

8.4 簡單工廠vs.工廠方法

8.5 雷鋒工廠

第9章 簡歷複印——原型模式

9.1 誇張的簡歷

9.2 簡歷代碼初步實現

9.3 原型模式

9.4 簡歷的原型實現

9.5 淺複製與深複製

9.6 簡歷的深複製實現

9.7 複製簡歷vs.手寫求職信

第10章 考題抄錯會做也白搭——模板方法模式

10.1 選擇題不會做,蒙唄!

10.2 重複=易錯+難改

10.3 提煉代碼

10.4 模板方法模式

10.5 模板方法模式特點

10.6 主觀題,看你怎么蒙

第11章 無熟人難辦事?——迪米特法則

11.1 第一天上班

11.2 無熟人難辦事

11.3 迪米特法則

第12章 牛市股票還會虧錢?——外觀模式

12.1 牛市股票還會虧錢?

12.2 股民炒股代碼

12.3 投資基金代碼

12.4 外觀模式

12.5 何時使用外觀模式

第13章 好菜每回味不同——建造者模式

13.1 炒麵沒放鹽

13.2 建造小人一

13.3 建造小人二

13.4 建造者模式

13.5 建造者模式解析

13.6 建造者模式基本代碼

第14章 老闆回來,我不知道——觀察者模式

14.1 老闆回來?我不知道!

14.2 雙向耦合的代碼

14.3 解耦實踐一

14.4 解耦實踐二

14.5 觀察者模式

14.6 觀察者模式特點

14.7 觀察者模式的不足

14.8 事件委託實現

14.9 事件委託說明

14.10 石守吉失手機後的委託

第15章 就不能不換DB嗎?——抽象工廠模式

15.1 就不能不換DB嗎?

15.2 最基本的數據訪問程式

15.3 用了工廠方法模式的數據訪問程式

15.4 用了抽象工廠模式的數據訪問程式

15.5 抽象工廠模式

15.6 抽象工廠模式的優點與缺點

15.7 用簡單工廠來改進抽象工廠

15.8 用反射+抽象工廠的數據訪問程式

15.9 用反射+配置檔案實現數據訪問程式

15.10 無痴迷,不成功

第16章 無盡加班何時休——狀態模式

16.1 加班,又是加班!

16.2 工作狀態-函式版

16.3 工作狀態-分類版

16.4 方法過長是壞味道

16.5 狀態模式

16.6 狀態模式好處與用處

16.7 工作狀態-狀態模式版

第17章 在NBA我需要翻譯——適配器模式

17.1 在NBA我需要翻譯!

17.2 適配器模式

17.3 何時使用適配器模式

17.4 籃球翻譯適配器

17.5 適配器模式的.NET套用

17.6 扁鵲的醫術

第18章 如果再回到從前——備忘錄模式

18.1 如果再給我一次機會……

18.2 遊戲存進度

18.3 備忘錄模式

18.4 備忘錄模式基本代碼

18.5 遊戲進度備忘

第19章 分公司=一部門——組合模式

19.1 分公司不就是一部門嗎?

19.2 組合模式

19.3 透明方式與安全方式

19.4 何時使用組合模式

19.5 公司管理系統

19.6 組合模式好處

第20章 想走?可以!先買票——疊代器模式

20.1 乘車買票,不管你是誰!

20.2 疊代器模式

20.3 疊代器實現

20.4 .NET的疊代器實現

20.5 疊代高手

第21章 有些類也需計畫生育——單例模式

21.1 類也需要計畫生育

21.2 判斷對象是否是null

21.3 生還是不生是自己的責任

21.4 單例模式

21.5 多執行緒時的單例

21.6 雙重鎖定

21.7 靜態初始化

第22章 手機軟體何時統一——橋接模式

22.1 憑什麼你的遊戲我不能玩

22.2 緊耦合的程式演化

22.3 合成/聚合復用原則

22.4 松耦合的程式

22.5 橋接模式

22.6 橋接模式基本代碼

22.7 我要開發“好”遊戲

第23章 烤羊肉串引來的思考——命令模式

23.1 吃烤羊肉串!

23.2 燒烤攤vs.燒烤店

23.3 緊耦合設計

23.4 松耦合設計

23.5 松耦合後

23.6 命令模式

23.7 命令模式作用

第24章 加薪非要老總批?——職責鏈模式

24.1 老闆,我要加薪!

24.2 加薪代碼初步

24.3 職責鏈模式

24.4 職責鏈的好處

24.5 加薪代碼重構

24.6 加薪成功

第25章 世界需要和平——中介者模式

25.1 世界需要和平!

25.2 中介者模式

25.3 安理會做中介

25.4 中介者模式優缺點

第26章 項目多也別傻做——享元模式

26.1 項目多也別傻做!

26.2 享元模式

26.3 網站共享代碼

26.4 內部狀態與外部狀態

26.5 享元模式套用

第27章 其實你不懂老闆的心——解釋器模式

27.1 其實你不懂老闆的心

27.2 解釋器模式

27.3 解釋器模式好處

27.4 音樂解釋器

27.5 音樂解釋器實現

27.6 料事如神

第28章 男人和女人——訪問者模式

28.1 男人和女人!

28.2 最簡單的編程實現

28.3 簡單的面向對象實現

28.4 用了模式的實現

28.5 訪問者模式

28.6 訪問者模式基本代碼

28.7 比上不足,比下有餘

第29章 OOTV杯超級模式大賽——模式總結

29.1 演講任務

29.2 報名參賽

29.3 超模大賽開幕式

29.4 創建型模式比賽

29.5 結構型模式比賽

29.6 行為型模式一組比賽

29.7 行為型模式二組比賽

29.8 決賽

29.9

29.10 沒有結束的結尾

附錄 A 培訓實習生——面向對象基礎

A.1 培訓實習生

A.2 類與實例

A.3 構造方法

A.4 方法重載

A.5 屬性與修飾符

A.6 封裝

A.7 繼承

A.8 多態

A.9 重構

A.10 抽象類

A.11 接口

A.12 集合

A.13 泛型

A.14 委託與事件

A.15 客套

附錄 B 參考文獻

daigua:看到這篇精彩的成長記,我連飯都不想吃了,什麼事都不想做,就想把它看完。寫得太好了!是啊,現在很多教材都太枯燥了,不好理解。其實書的意義就在於讓人學到知識,而不在於用什麼方式,為什麼一定要那么教條呢,只要能讓人比較容易地學到書里的知識就是一本好書。謝謝你啊,給了我很大的信心。我現在很有信心把編程進行到底,哈哈。

光頭小松鼠:絕對經典!一篇小故事,把程式的靈活性、可擴展性、可維護、可復用等說得怎一個妙字了得!

沉默天蠍:感激,讓我這個菜鳥頓悟。這樣的寫法太好了,如果老大你出書,我肯定購買!

碳碳:這種學習的方式真的很神奇,儘管每個人都能想到,但不是每個人都能做到。或許可以把系列文章歸檔出書,說不定會收到追捧,呵呵。

Bryant:真的是太棒了!我原來看過一些有關設計模式的書,都覺得太抽象,根本就不能理解,也不知道啥時候能用上。看過你寫的這些文章,才知道了應該怎樣在實際中運用這些模式,而且文筆非常的幽默,享受!Thx ^_^ 支持!有個建議,最好慢慢地把所有的設計模式都聊聊!

Bryant:不錯,樓主說的非常幽默,通俗,把我們一步一步帶入面向對象的世界 thx ^_^

Bryant:太棒了,我正是這樣初學設計模式的小菜,需要這樣的文章,謝謝樓主!

菜鳥飛:樓主,加油,支持你。在這裡獻上崇高的敬意,不管你有沒有感受到我摯熱的目光。請你相信,有這樣一些人一直在默默地關注著你,期待著你。

wdx2008:非常好!!!幽默,搞笑,易懂,真神人也,鬼神不可測!支持樓主!!

空明流轉:呵呵,樓主說得蠻好。國外的文章好就好在有例子,“廢話”多,所以比較好理解。至於行文風格嘛,這個倒是因人而異的。我個人就偏向於論文式的行文風格,邏輯嚴密,層層遞進,闡述也很清晰。就有點像有序數組,二分法就能輕鬆查找到自己想要的東西,但國內的那種論文式的文章,呵呵,我看是賣弄的成分居多,實作的成分偏少,所以才那么難讀的吧。

Char:現在的大學就缺少這種既通俗易懂,又有內容的東西。

Apple:不錯,學習了。希望博主能再接再厲多寫點,看了很多書都沒有看你的文章明白得快。

SnowDoggie:呵呵,挺好的。其實要想找個絕對沒有漏洞的例子是很辛苦的,關鍵在於文章本身能說明問題,能體現作者的意圖就足夠了。昨天和朋友一起爬山的時候還討論了你的文章風格,其實最有用的還是你這種寓教於樂,步步深入的風格,陽春白雪的經典雖然是經典,大眾卻不見得喜歡。

Jerry:不錯的文章,簡單明了,又不乏趣味,好的文章就得頂下。

izhizhe2000:很好,整個系列寫完之後可以出書了,保證受大學生的廣泛歡迎!

mekong:很是欣賞這樣幽默風趣又不失睿智深刻的文字。

Wuyisky:呵呵,樓主不僅程式寫得好,而且還有文學天賦。佩服!

Jack:真正的高手是用最生動的語言,最簡單的例子,這才是真正的“深入淺出”。贊!!!老兄,加油,繼續喲。

BoyLee:人才,愛死你了。做了一年外包,沒技術含量。正打算從頭學習這些東西,這樣的方式我最喜歡了。

Leoxu:很不錯,對正在找工作的我有很大的幫助。以後會多來光顧。

Ame:寫得承上啟下,始終有一主幹線貫穿,作者的文字功底很強啊!

Artech:我很喜歡你的寫作風格!以一種調侃的方式講明一個深奧的問題。我一直在嘗試如何以一種讓每個人都懂得的語言來向大家分享我所理解的.NET。你給了我一個啟發。

8:醍醐灌頂!感謝,領悟了不少東西!!!

Yufengly:真是太容易理解了,而且看後印象深刻,繼續努力!期待下文……支持作者!

Sopper:支持,例子舉得很形象,寫得很棒,以後會常來關注。

d:會技術的高人有很多,但能把技術講得如此通俗易懂的高人並不多,你是一個,謝謝~~~

white.wu:非常喜歡您這種授人以“漁”的文章。

Answer:強啊,本菜鳥受益很大,謝謝。

Hanlei:強,很受益啊,感謝樓主,寫出這么好的文章來。

金色海洋(jyk):繼續呀,我們期待中……,寫得很好,一看就懂。

DSharp:看部落格園這么久了,終於看到一篇有中國特色的好文。

獲得榮譽

《大話設計模式》獲得榮譽和獎項:

榮獲互動出版網評選的2008年度十大暢銷經典第4名

榮獲噹噹網五星暢銷圖書榜第3名

榮獲第八屆全國高校出版社優秀暢銷書獎一等獎

榮獲CSDN評選的2007年度十大精品圖書第1名

本書成為極少的由大陸出版而後被台灣出版社購買繁體著作權的IT技術書(本書繁體版已在台灣上市並熱銷)。 本書作者因本書榮獲51CTO和《中國圖書商報》聯合主辦的2008年度十大IT圖書最佳原創作者獎

本書2007年12月上市,已八次印刷,實銷已達3萬冊。

本書自上市以來,獲得廣大讀者一致高度評價。

插圖

《大話設計模式》插圖《大話設計模式》插圖
《大話設計模式》插圖《大話設計模式》插圖
《大話設計模式》插圖《大話設計模式》插圖

書籍,雜誌,小說

相關搜尋

熱門詞條

聯絡我們