本書共計 25 章,以輕松、幽默、淺顯易懂的文風從面向?qū)ο缶幊、面向(qū)ο笕筇匦缘睦碚摶A開篇,然后系統(tǒng)且詳細地講解了單例、原型、工廠方法、抽象工廠、建造者、門面、組合、裝飾器、適配器、享元、代理、橋接、 模板方法、迭代器、責任鏈、策略、狀態(tài)、備忘錄、中介、命令、訪問者、觀察者及解釋器等 23 種設計模式的概念及結(jié)構(gòu)機理,最后以六大設計原則收尾,全面地解析歸納了軟件設計準則,參透設計模式的本質(zhì)。
本書引入了很多貼近生活的真實范例,并配有大量生動形象的插圖,再結(jié)合相關例程代碼實戰(zhàn)演練,循序漸進、深入淺出,引導讀者探究設計模式的哲學真諦。
本書面向廣大的軟件設計工作者,包括但不限于各個層次從事面向?qū)ο缶幊陶Z言開發(fā)的軟件開發(fā)、設計、架構(gòu)等工程技術(shù)人員,也可以作為大專院校相關專業(yè)教學用書和培訓學校的教材。
1.本書以輕松幽默的文風,淺顯易懂的方式全面的對23種設計模式進行了歸納和講解。
2.本書引入了更加貼切各個模式的生活范例,并配有生動形象的漫畫風格插圖,使抽象的設計模式更加易學易懂。
3.本書結(jié)合了優(yōu)雅簡潔的程序代碼,供讀者進行實戰(zhàn)演練,深入淺出的引導讀者探究設計模式的本質(zhì)。
4.本書提供配套資源和代碼下載。
劉韜,筆名凸凹,現(xiàn)居西安,現(xiàn)居西安,曾就讀于西安電子科技大學、澳洲查爾斯特大學,先后在中軟國際、匯豐軟件、艾默生等國內(nèi)外知名企業(yè)擔任軟件設計及開發(fā)工作,至今已有15余年工作經(jīng)驗,主要研究方向為軟件架構(gòu)、數(shù)據(jù)庫、Web應用及前端設計。
目錄
第 1章 初探 01 ~ 11
1.1 封裝 2
1.2 繼承 4
1.3 多態(tài) 7
1.4 計算機與外設 9
| 創(chuàng)造篇 |
第 2章 單例 14 ~ 20
2.1 孤獨的太陽 15
2.2 餓漢造日 15
2.3 懶漢的隊伍 17
2.4 大道至簡 20
第3章 原型 21 ~ 29
3.1 構(gòu)造與復制 22
3.2 卡頓的游戲 23
3.3 細胞分裂 25
3.4 克隆工廠 26
3.5 深拷貝與淺拷貝 27
3.6 克隆的本質(zhì) 28
第4章 工廠方法 30 ~ 40
4.1 工廠的多元化與專業(yè)化 31
4.2 游戲角色建模 32
4.3 簡單工廠不簡單 34
4.4 制定工業(yè)制造標準 36
4.5 勞動分工 39
第5章 抽象工廠 41 ~ 52
5.1 品牌與品型 42
5.2 產(chǎn)品規(guī)劃 42
5.3 生產(chǎn)線規(guī)劃 48
5.4 分而治之 51
第6章 建造者 53 ~ 62
6.1 建造步驟的重要性 54
6.2 地產(chǎn)開發(fā)商的困惑 55
6.3 建筑施工方 56
6.4 工程總監(jiān) 59
6.5 項目實施 60
6.6 工藝與工序 61
| 結(jié)構(gòu)篇 |
第7章 門面 64 ~ 70
7.1 一鍵操作 65
7.2 親自下廚的煩擾 66
7.3 化繁為簡 68
7.4 整合共享 69
第8章 組合 71 ~ 81
8.1 叉樹結(jié)構(gòu) 72
8.2 文件系統(tǒng) 73
8.3 目錄樹展示 76
8.4 自似性的涌現(xiàn) 80
第9章 裝飾器 82 ~ 90
9.1 室內(nèi)裝潢 83
9.2 從素面朝天到花容月貌 83
9.3 化妝品的多樣化 86
9.4 無處不在的裝飾器 89
9.5 自由嵌套 89
第 10章 適配器 91 ~ 98
10.1 逾越鴻溝靠適配 92
10.2 插頭與插孔的沖突 93
10.3 通用適配 94
10.4 專屬適配 96
10.5 化解不可調(diào)和的矛盾 97
第 11章 享元 99 ~ 108
11.1 馬賽克 100
11.2 游戲地圖 100
11.3 卡頓的加載過程 101
11.4 圖件共享 103
11.5 萬變不離其宗 107
第 12章 代理 109 ~ 120
12.1 汽車 4S 店 110
12.2 訪問互聯(lián)網(wǎng) 110
12.3 互聯(lián)網(wǎng)代理 112
12.4 萬能的動態(tài)代理 114
12.5 業(yè)務增強與管控 119
第 13章 橋接 121 ~ 130
13.1 基礎建設 122
13.2 形與色的糾葛 122
13.3 架構(gòu)產(chǎn)業(yè)鏈 124
13.4 笛卡爾積 128
13.5 多姿多彩的世界 129
| 行為篇 |
第 14章 模板方法 132 ~ 143
14.1 生存技能 133
14.2 生存法則 135
14.3 項目管理模板 137
14.4 虛實結(jié)合 142
第 15章 迭代器 144 ~ 155
15.1 物以類聚 145
15.2 循環(huán)往復 145
15.3 遍歷標準化 147
15.4 分離迭代器 149
15.5 魚與熊掌兼得 154
第 16章 責任鏈 156 ~ 165
16.1 簡單的生產(chǎn)線 157
16.2 工作流程拆解 158
16.3 踢皮球 158
16.4 架構(gòu)工作流 161
16.5 讓業(yè)務飛一會 164
第 17章 策略 166 ~ 175
17.1 頑固不化的系統(tǒng) 167
17.2 游戲卡帶 168
17.3 萬能的 USB 接口 171
17.4 即插即用 174
第 18章 狀態(tài) 176 ~ 186
18.1 事物的狀態(tài) 177
18.2 簡單的二元態(tài) 177
18.3 交通燈的狀態(tài) 180
18.4 狀態(tài)響應機制 185
第 19章 備忘錄 187 ~ 197
19.1 時光流逝 188
19.2 覆水難收 188
19.3 破鏡重圓 191
19.4 歷史回溯 196
第 20章 中介 198 ~ 209
20.1 簡單直接交互 199
20.2 構(gòu)建交互平臺 201
20.3 多態(tài)化溝通 204
20.4 星型拓撲結(jié)構(gòu) 208
第 21章 命令 210 ~ 224
21.1 對電燈的控制 211
21.2 開關命令 213
21.3 霓虹閃爍 216
21.4 物聯(lián)網(wǎng) 218
21.5 萬物兼容 223
第 22章 訪問者 225 ~ 236
22.1 多樣化的商品 226
22.2 多變的計價算法 229
22.3 泛型購物車 231
22.4 訪問與接待 233
22.5 數(shù)據(jù)與算法 235
第 23章 觀察者 237 ~ 246
23.1 觀察者很忙 238
23.2 反客為主 241
23.3 訂閱與發(fā)布 245
第 24章 解釋器 247 ~ 257
24.1 語言與表達式 248
24.2 語義樹 249
24.3 接口與終極表達式 251
24.4 非終極表達式 253
24.5 語法規(guī)則 256
第 25章 終道 258 ~ 268
25.1 單一職責 259
25.2 開閉原則 260
25.3 里氏替換 262
25.4 接口隔離 263
25.5 依賴倒置 264
25.6 迪米特法則 265
25.7 設計的最高境界 267