本書共計(jì) 25 章,以輕松、幽默、淺顯易懂的文風(fēng)從面向?qū)ο缶幊、面向(qū)ο笕筇匦缘睦碚摶A(chǔ)開篇,然后系統(tǒng)且詳細(xì)地講解了單例、原型、工廠方法、抽象工廠、建造者、門面、組合、裝飾器、適配器、享元、代理、橋接、 模板方法、迭代器、責(zé)任鏈、策略、狀態(tài)、備忘錄、中介、命令、訪問者、觀察者及解釋器等 23 種設(shè)計(jì)模式的概念及結(jié)構(gòu)機(jī)理,最后以六大設(shè)計(jì)原則收尾,全面地解析歸納了軟件設(shè)計(jì)準(zhǔn)則,參透設(shè)計(jì)模式的本質(zhì)。
本書引入了很多貼近生活的真實(shí)范例,并配有大量生動(dòng)形象的插圖,再結(jié)合相關(guān)例程代碼實(shí)戰(zhàn)演練,循序漸進(jìn)、深入淺出,引導(dǎo)讀者探究設(shè)計(jì)模式的哲學(xué)真諦。
本書面向廣大的軟件設(shè)計(jì)工作者,包括但不限于各個(gè)層次從事面向?qū)ο缶幊陶Z(yǔ)言開發(fā)的軟件開發(fā)、設(shè)計(jì)、架構(gòu)等工程技術(shù)人員,也可以作為大專院校相關(guān)專業(yè)教學(xué)用書和培訓(xùn)學(xué)校的教材。
1.本書以輕松幽默的文風(fēng),淺顯易懂的方式全面的對(duì)23種設(shè)計(jì)模式進(jìn)行了歸納和講解。
2.本書引入了更加貼切各個(gè)模式的生活范例,并配有生動(dòng)形象的漫畫風(fēng)格插圖,使抽象的設(shè)計(jì)模式更加易學(xué)易懂。
3.本書結(jié)合了優(yōu)雅簡(jiǎn)潔的程序代碼,供讀者進(jìn)行實(shí)戰(zhàn)演練,深入淺出的引導(dǎo)讀者探究設(shè)計(jì)模式的本質(zhì)。
4.本書提供配套資源和代碼下載。
劉韜,筆名凸凹,現(xiàn)居西安,現(xiàn)居西安,曾就讀于西安電子科技大學(xué)、澳洲查爾斯特大學(xué),先后在中軟國(guó)際、匯豐軟件、艾默生等國(guó)內(nèi)外知名企業(yè)擔(dān)任軟件設(shè)計(jì)及開發(fā)工作,至今已有15余年工作經(jīng)驗(yàn),主要研究方向?yàn)檐浖軜?gòu)、數(shù)據(jù)庫(kù)、Web應(yīng)用及前端設(shè)計(jì)。
目錄
第 1章 初探 01 ~ 11
1.1 封裝 2
1.2 繼承 4
1.3 多態(tài) 7
1.4 計(jì)算機(jī)與外設(shè) 9
| 創(chuàng)造篇 |
第 2章 單例 14 ~ 20
2.1 孤獨(dú)的太陽(yáng) 15
2.2 餓漢造日 15
2.3 懶漢的隊(duì)伍 17
2.4 大道至簡(jiǎn) 20
第3章 原型 21 ~ 29
3.1 構(gòu)造與復(fù)制 22
3.2 卡頓的游戲 23
3.3 細(xì)胞分裂 25
3.4 克隆工廠 26
3.5 深拷貝與淺拷貝 27
3.6 克隆的本質(zhì) 28
第4章 工廠方法 30 ~ 40
4.1 工廠的多元化與專業(yè)化 31
4.2 游戲角色建模 32
4.3 簡(jiǎn)單工廠不簡(jiǎn)單 34
4.4 制定工業(yè)制造標(biāo)準(zhǔn) 36
4.5 勞動(dòng)分工 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 項(xiàng)目實(shí)施 60
6.6 工藝與工序 61
| 結(jié)構(gòu)篇 |
第7章 門面 64 ~ 70
7.1 一鍵操作 65
7.2 親自下廚的煩擾 66
7.3 化繁為簡(jiǎn) 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 萬能的動(dòng)態(tài)代理 114
12.5 業(yè)務(wù)增強(qiáng)與管控 119
第 13章 橋接 121 ~ 130
13.1 基礎(chǔ)建設(shè) 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 項(xiàng)目管理模板 137
14.4 虛實(shí)結(jié)合 142
第 15章 迭代器 144 ~ 155
15.1 物以類聚 145
15.2 循環(huán)往復(fù) 145
15.3 遍歷標(biāo)準(zhǔn)化 147
15.4 分離迭代器 149
15.5 魚與熊掌兼得 154
第 16章 責(zé)任鏈 156 ~ 165
16.1 簡(jiǎn)單的生產(chǎn)線 157
16.2 工作流程拆解 158
16.3 踢皮球 158
16.4 架構(gòu)工作流 161
16.5 讓業(yè)務(wù)飛一會(huì) 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 簡(jiǎn)單的二元態(tài) 177
18.3 交通燈的狀態(tài) 180
18.4 狀態(tài)響應(yīng)機(jī)制 185
第 19章 備忘錄 187 ~ 197
19.1 時(shí)光流逝 188
19.2 覆水難收 188
19.3 破鏡重圓 191
19.4 歷史回溯 196
第 20章 中介 198 ~ 209
20.1 簡(jiǎn)單直接交互 199
20.2 構(gòu)建交互平臺(tái) 201
20.3 多態(tài)化溝通 204
20.4 星型拓?fù)浣Y(jié)構(gòu) 208
第 21章 命令 210 ~ 224
21.1 對(duì)電燈的控制 211
21.2 開關(guān)命令 213
21.3 霓虹閃爍 216
21.4 物聯(lián)網(wǎng) 218
21.5 萬物兼容 223
第 22章 訪問者 225 ~ 236
22.1 多樣化的商品 226
22.2 多變的計(jì)價(jià)算法 229
22.3 泛型購(gòu)物車 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 語(yǔ)言與表達(dá)式 248
24.2 語(yǔ)義樹 249
24.3 接口與終極表達(dá)式 251
24.4 非終極表達(dá)式 253
24.5 語(yǔ)法規(guī)則 256
第 25章 終道 258 ~ 268
25.1 單一職責(zé) 259
25.2 開閉原則 260
25.3 里氏替換 262
25.4 接口隔離 263
25.5 依賴倒置 264
25.6 迪米特法則 265
25.7 設(shè)計(jì)的最高境界 267