注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計(jì)人人都懂設(shè)計(jì)模式:從生活中領(lǐng)悟設(shè)計(jì)模式(Python實(shí)現(xiàn))

人人都懂設(shè)計(jì)模式:從生活中領(lǐng)悟設(shè)計(jì)模式(Python實(shí)現(xiàn))

人人都懂設(shè)計(jì)模式:從生活中領(lǐng)悟設(shè)計(jì)模式(Python實(shí)現(xiàn))

定 價(jià):¥79.00

作 者: 羅偉富
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787121361128 出版時(shí)間: 2019-04-01 包裝: 平裝
開本: 16開 頁數(shù): 404 字?jǐn)?shù):  

內(nèi)容簡介

  ★設(shè)計(jì)模式(Design Patterns)是一套被反復(fù)使用、多數(shù)人知曉、無數(shù)工程師實(shí)踐的代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié),它是面向?qū)ο笏枷氲母叨忍釤捄湍0寤?。本書帶你一起從生活的角度思考設(shè)計(jì)模式,以輕松有趣的小故事開始,由淺入深地講解每一種模式,思考每一種模式,總結(jié)每一種模式!力求用更通俗的語言闡述難懂的概念,用更簡單的語法實(shí)現(xiàn)復(fù)雜的邏輯,用更短小的代碼寫出強(qiáng)悍的程序!使枯燥乏味的概念變得更有樂趣和意義,希望能帶給讀者一種全新的閱讀體驗(yàn)和思考方式。 ★本書分為3篇:“基礎(chǔ)篇”講解了23種經(jīng)典設(shè)計(jì)模式,其中19種常用設(shè)計(jì)模式分別用單獨(dú)的章節(jié)講解,其余模式作為一個(gè)合集放在一章中講解;“進(jìn)階篇”講解了由基礎(chǔ)設(shè)計(jì)模式衍生出的各種編程機(jī)制,包括過濾器模式、對象池技術(shù)、回調(diào)機(jī)制和MVC模式,它們在各大編程語言中都非常重要而且常見;“經(jīng)驗(yàn)篇”結(jié)合工作經(jīng)驗(yàn)和項(xiàng)目積累,分享了對設(shè)計(jì)模式、設(shè)計(jì)原則、項(xiàng)目重構(gòu)的理解和看法。Python作為AI時(shí)代*重要的一種計(jì)算機(jī)語言,在各大語言中的排名逐年上升!本書所有示例代碼均用Python編寫,將會(huì)是國內(nèi)不可多得的一本用Python來講解設(shè)計(jì)模式的書。 ★本書適合的讀者:一線互聯(lián)網(wǎng)軟件開發(fā)者、有一定編程基礎(chǔ)的IT職場新人、對設(shè)計(jì)模式和編程思想感興趣的人士。

作者簡介

  羅偉富(Spencer.Luo),CSDN 博客專家,某知名在線教育公司技術(shù)專家。3年 SDK 開發(fā),2年客戶端開發(fā),現(xiàn)從事后端基礎(chǔ)技術(shù)研究,從底層到應(yīng)用層,從前端到后端積累了豐富的開發(fā)經(jīng)驗(yàn),熟悉 C++、Java、Python、PHP 等多種不同開發(fā)語言。熱愛生活、喜歡技術(shù)、善于用生活的場景解讀難懂的技術(shù)!

圖書目錄

★基 礎(chǔ) 篇


第0章 啟程之前,請不要錯(cuò)過我 2
0.1 Python精簡入門 2
0.1.1 Python的特點(diǎn) 2
0.1.2 基本語法 3
0.1.3 一個(gè)例子讓你頓悟 7
0.1.4 重要說明 11
0.2 UML精簡概述 11
0.2.1 UML的定義 11
0.2.2 常見的關(guān)系 12
第1章 監(jiān)聽模式 16
1.1 從生活中領(lǐng)悟監(jiān)聽模式 16
1.1.1 故事劇情―幻想中的智能熱水器 16
1.1.2 用程序來模擬生活 17
1.2 從劇情中思考監(jiān)聽模式 19
1.2.1 什么是監(jiān)聽模式 19
1.2.2 監(jiān)聽模式設(shè)計(jì)思想 19
1.3 監(jiān)聽模式的模型抽象 19
1.3.1 代碼框架 19
1.3.2 類圖 20
1.3.3 基于框架的實(shí)現(xiàn) 21
1.3.4 模型說明 22
1.4 實(shí)戰(zhàn)應(yīng)用 23
1.5 應(yīng)用場景 26
第2章 狀態(tài)模式 28
2.1 從生活中領(lǐng)悟狀態(tài)模式 28
2.1.1 故事劇情―人有少、壯、老,水之固、液、氣 28
2.1.2 用程序來模擬生活 29
2.2 從劇情中思考狀態(tài)模式 32
2.2.1 什么是狀態(tài)模式 32
2.2.2 狀態(tài)模式設(shè)計(jì)思想 33
2.3 狀態(tài)模式的模型抽象 33
2.3.1 代碼框架 33
2.3.2 類圖 35
2.3.3 基于框架的實(shí)現(xiàn) 36
2.3.4 模型說明 38
2.4 應(yīng)用場景 39
第3章 中介模式 40
3.1 從生活中領(lǐng)悟中介模式 40
3.1.1 故事劇情―找房子問中介 40
3.1.2 用程序來模擬生活 41
3.2 從劇情中思考中介模式 46
3.2.1 什么是中介模式 46
3.2.2 中介模式設(shè)計(jì)思想 46
3.3 中介模式的模型抽象 48
3.3.1 代碼框架 48
3.3.2 類圖 49
3.3.3 模型說明 50
3.4 實(shí)戰(zhàn)應(yīng)用 51
3.5 應(yīng)用場景 56
第4章 裝飾模式 57
4.1 從生活中領(lǐng)悟裝飾模式 57
4.1.1 故事劇情―你想怎么搭就怎么搭 57
4.1.2 用程序來模擬生活 58
4.2 從劇情中思考裝飾模式 62
4.2.1 什么是裝飾模式 62
4.2.2 裝飾模式設(shè)計(jì)思想 63
4.3 裝飾模式的模型抽象 64
4.3.1 類圖 64
4.3.2 Python中的裝飾器 64
4.3.3 模型說明 69
4.4 應(yīng)用場景 70
第5章 單例模式 71
5.1 從生活中領(lǐng)悟單例模式 71
5.1.1 故事劇情―你是我的唯一 71
5.1.2 用程序來模擬生活 72
5.2 從劇情中思考單例模式 73
5.2.1 什么是單例模式 73
5.2.2 單例模式設(shè)計(jì)思想 73
5.3 單例模式的模型抽象 73
5.3.1 代碼框架 73
5.3.2 類圖 78
5.3.3 基于框架的實(shí)現(xiàn) 78
5.4 應(yīng)用場景 79
第6章 克隆模式 80
6.1 從生活中領(lǐng)悟克隆模式 80
6.1.1 故事劇情―給你一個(gè)分身術(shù) 80
6.1.2 用程序來模擬生活 80
6.2 從劇情中思考克隆模式 82
6.2.1 什么是克隆模式 82
6.2.2 淺拷貝與深拷貝 82
6.3 克隆模式的模型抽象 86
6.3.1 代碼框架 86
6.3.2 類圖 86
6.3.3 基于框架的實(shí)現(xiàn) 87
6.3.4 模型說明 87
6.4 實(shí)戰(zhàn)應(yīng)用 88
6.5 應(yīng)用場景 90
第7章 職責(zé)模式 91
7.1 從生活中領(lǐng)悟職責(zé)模式 91
7.1.1 故事劇情―我的假條去哪兒了 91
7.1.2 用程序來模擬生活 92
7.2 從劇情中思考職責(zé)模式 96
7.2.1 什么是職責(zé)模式 96
7.2.2 職責(zé)模式設(shè)計(jì)思想 96
7.3 職責(zé)模式的模型抽象 97
7.3.1 代碼框架 97
7.3.2 類圖 98
7.3.3 基于框架的實(shí)現(xiàn) 99
7.3.4 模型說明 102
7.4 應(yīng)用場景 103
第8章 代理模式 104
8.1 從生活中領(lǐng)悟代理模式 104
8.1.1 故事劇情―幫我拿一下快遞 104
8.1.2 用程序來模擬生活 105
8.2 從劇情中思考代理模式 107
8.2.1 什么是代理模式 107
8.2.2 代理模式設(shè)計(jì)思想 107
8.3 代理模式的模型抽象 107
8.3.1 代碼框架 107
8.3.2 類圖 109
8.3.3 基于框架的實(shí)現(xiàn) 110
8.3.4 模型說明 111
8.4 應(yīng)用場景 111
第9章 外觀模式 113
9.1 從生活中領(lǐng)悟外觀模式 113
9.1.1 故事劇情―學(xué)妹別慌,學(xué)長幫你 113
9.1.2 用程序來模擬生活 114
9.2 從劇情中思考外觀模式 116
9.2.1 什么是外觀模式 116
9.2.2 外觀模式設(shè)計(jì)思想 116
9.3 外觀模式的模型抽象 117
9.3.1 類圖 117
9.3.2 軟件的分層結(jié)構(gòu) 117
9.3.3 模型說明 119
9.4 實(shí)戰(zhàn)應(yīng)用 119
9.5 應(yīng)用場景 123
第10章 迭代模式 124
10.1 從生活中領(lǐng)悟迭代模式 124
10.1.1 故事劇情―下一個(gè)就是你了 124
10.1.2 用程序來模擬生活 125
10.2 從劇情中思考迭代模式 128
10.2.1 什么是迭代模式 128
10.2.2 迭代模式設(shè)計(jì)思想 129
10.3 迭代模式的模型抽象 130
10.3.1 代碼框架 130
10.3.2 Python中的迭代器 132
10.3.3 類圖 136
10.3.4 模型說明 137
10.4 應(yīng)用場景 138
第11章 組合模式 139
11.1 從生活中領(lǐng)悟組合模式 139
11.1.1 故事劇情―自己組裝電腦,價(jià)格再降三成 139
11.1.2 用程序來模擬生活 140
11.2 從劇情中思考組合模式 146
11.2.1 什么是組合模式 146
11.2.2 組合模式設(shè)計(jì)思想 147
11.3 組合模式的模型抽象 148
11.3.1 代碼框架 148
11.3.2 類圖 149
11.3.3 模型說明 150
11.4 實(shí)戰(zhàn)應(yīng)用 150
11.5 應(yīng)用場景 153
第12章 構(gòu)建模式 154
12.1 從生活中領(lǐng)悟構(gòu)建模式 154
12.1.1 故事劇情―你想要一輛車還是一個(gè)莊園 154
12.1.2 用程序來模擬生活 155
12.2 從劇情中思考構(gòu)建模式 157
12.2.1 什么是構(gòu)建模式 157
12.2.2 構(gòu)建模式設(shè)計(jì)思想 157
12.2.3 與工廠模式的區(qū)別 158
12.2.4 與組合模式的區(qū)別 158
12.3 構(gòu)建模式的模型抽象 159
12.3.1 類圖 159
12.3.2 基于框架的實(shí)現(xiàn) 160
12.3.3 模型說明 163
12.4 應(yīng)用場景 164
第13章 適配模式 166
13.1 從生活中領(lǐng)悟適配模式 166
13.1.1 故事劇情――有個(gè)轉(zhuǎn)換器就好了 166
13.1.2 用程序來模擬生活 167
13.2 從劇情中思考適配模式 170
13.2.1 什么是適配模式 170
13.2.2 適配模式設(shè)計(jì)思想 170
13.3 適配模式的模型抽象 172
13.3.1 代碼框架 172
13.3.2 類圖 172
13.3.3 模型說明 173
13.4 實(shí)戰(zhàn)應(yīng)用 174
13.5 應(yīng)用場景 184
第14章 策略模式 185
14.1 從生活中領(lǐng)悟策略模式 185
14.1.1 故事劇情―怎么來不重要,人到就行 185
14.1.2 用程序來模擬生活 186
14.2 從劇情中思考策略模式 188
14.2.1 什么是策略模式 188
14.2.2 策略模式設(shè)計(jì)思想 188
14.3 策略模式的模型抽象 189
14.3.1 類圖 189
14.3.2 模型說明 190
14.4 實(shí)戰(zhàn)應(yīng)用 190
14.5 應(yīng)用場景 195
第15章 工廠模式 196
15.1 從生活中領(lǐng)悟工廠模式 196
15.1.1 故事劇情―你要拿鐵還是摩卡呢 196
15.1.2 用程序來模擬生活 197
15.2 從劇情中思考工廠模式 199
15.2.1 什么是簡單工廠模式 199
15.2.2 工廠模式設(shè)計(jì)思想 199
15.3 工廠三姐妹 199
15.3.1 簡單工廠模式 200
15.3.2 工廠方法模式 201
15.3.3 抽象工廠模式 203
15.4 進(jìn)一步思考 205
15.5 實(shí)戰(zhàn)應(yīng)用 205
第16章 命令模式 209
16.1 從生活中領(lǐng)悟命令模式 209
16.1.1 故事劇情―大閘蟹,走起 209
16.1.2 用程序來模擬生活 210
16.2 從劇情中思考命令模式 213
16.2.1 什么是命令模式 213
16.2.2 命令模式設(shè)計(jì)思想 213
16.3 命令模式的模型抽象 214
16.3.1 代碼框架 214
16.3.2 類圖 215
16.3.3 模型說明 216
16.4 實(shí)戰(zhàn)應(yīng)用 216
16.5 應(yīng)用場景 224
第17章 備忘模式 225
17.1 從生活中領(lǐng)悟備忘模式 225
17.1.1 故事劇情―好記性不如爛筆頭 225
17.1.2 用程序來模擬生活 226
17.2 從劇情中思考備忘模式 228
17.2.1 什么是備忘模式 228
17.2.2 備忘模式設(shè)計(jì)思想 229
17.3 備忘模式的模型抽象 229
17.3.1 類圖 229
17.3.2 代碼框架 230
17.3.3 模型說明 232
17.4 實(shí)戰(zhàn)應(yīng)用 232
17.5 應(yīng)用場景 235
第18章 享元模式 236
18.1 從生活中領(lǐng)悟享元模式 236
18.1.1 故事劇情―顏料很貴,必須充分利用 236
18.1.2 用程序來模擬生活 237
18.2 從劇情中思考享元模式 239
18.2.1 什么是享元模式 239
18.2.2 享元模式設(shè)計(jì)思想 239
18.3 享元模式的模型抽象 239
18.3.1 類圖 239
18.3.2 基于框架的實(shí)現(xiàn) 240
18.3.3 模型說明 242
18.4 應(yīng)用場景 243
第19章 訪問模式 244
19.1 從生活中領(lǐng)悟訪問模式 244
19.1.1 故事劇情―一千個(gè)讀者一千個(gè)哈姆雷特 244
19.1.2 用程序來模擬生活 245
19.2 從劇情中思考訪問模式 246
19.2.1 什么是訪問模式 246
19.2.2 訪問模式設(shè)計(jì)思想 247
19.3 訪問模式的模型抽象 247
19.3.1 代碼框架 247
19.3.2 類圖 248
19.3.3 基于框架的實(shí)現(xiàn) 249
19.3.4 模型說明 250
19.4 實(shí)戰(zhàn)應(yīng)用 251
19.5 應(yīng)用場景 255
第20章 其他經(jīng)典設(shè)計(jì)模式 256
20.1 模板模式 256
20.1.1 模式定義 256
20.1.2 類圖結(jié)構(gòu) 257
20.1.3 代碼框架 257
20.1.4 應(yīng)用案例 259
20.1.5 應(yīng)用場景 261
20.2 橋接模式 261
20.2.1 模式定義 261
20.2.2 類圖結(jié)構(gòu) 261
20.2.3 應(yīng)用案例 262
20.2.4 應(yīng)用場景 266
20.3 解釋模式 266
20.3.1 模式定義 266
20.3.2 類圖結(jié)構(gòu) 266
20.3.3 應(yīng)用案例 267
20.3.4 應(yīng)用場景 271

★進(jìn) 階 篇


第21章 深入解讀過濾器模式 274
21.1 從生活中領(lǐng)悟過濾器模式 274
21.1.1 故事劇情―制作一杯鮮純細(xì)膩的豆?jié){ 274
21.1.2 用程序來模擬生活 275
21.2 從劇情中思考過濾器模式 275
21.2.1 過濾器模式 276
21.2.2 與職責(zé)模式的聯(lián)系 276
21.3 過濾器模式的模型抽象 276
21.3.1 代碼框架 277
21.3.2 類圖 278
21.3.3 基于框架的實(shí)現(xiàn) 278
21.3.4 模型說明 279
21.4 實(shí)戰(zhàn)應(yīng)用 280
21.5 應(yīng)用場景 282
第22章 深入解讀對象池技術(shù) 283
22.1 從生活中領(lǐng)悟?qū)ο蟪丶夹g(shù) 283
22.1.1 故事劇情―共享讓出行更便捷 283
22.1.2 用程序來模擬生活 284
22.2 從劇情中思考對象池機(jī)制 287
22.2.1 什么是對象池 287
22.2.2 與享元模式的聯(lián)系 287
22.3 對象池機(jī)制的模型抽象 288
22.3.1 代碼框架 288
22.3.2 類圖 291
22.3.3 基于框架的實(shí)現(xiàn) 292
22.3.4 模型說明 294
22.4 應(yīng)用場景 295
第23章 深入解讀回調(diào)機(jī)制 296
23.1 從生活中領(lǐng)悟回調(diào)機(jī)制 296
23.1.1 故事劇情―把你的技能亮出來 296
23.1.2 用程序來模擬生活 296
23.2 從劇情中思考回調(diào)機(jī)制 298
23.2.1 回調(diào)機(jī)制 298
23.2.2 設(shè)計(jì)思想 299
23.3 回調(diào)機(jī)制的模型抽象 299
23.3.1 面向過程的實(shí)現(xiàn)方式 299
23.3.2 面向?qū)ο蟮膶?shí)現(xiàn)方式 300
23.3.3 模型說明 301
23.4 實(shí)戰(zhàn)應(yīng)用 302
23.4.1 基于回調(diào)函數(shù)的實(shí)現(xiàn) 302
23.4.2 基于策略模式的實(shí)現(xiàn) 303
23.4.3  回調(diào)在異步中的應(yīng)用 307
23.5 應(yīng)用場景 310
第24章 深入解讀MVC模式 311
24.1 從生活中領(lǐng)悟MVC模式 311
24.1.1 故事劇情―定格最美的一瞬間 311
24.1.2 用程序來模擬生活 312
24.2 從劇情中思考MVC模式 316
24.2.1 MVC模式 317
24.2.2 與中介模式的聯(lián)系 317
24.2.3 與外觀模式的聯(lián)系 317
24.3 MVC模式的模型抽象 318
24.3.1 MVC 318
24.3.2 MVP 318
24.3.3 MVVM 319
24.3.4 模型說明 320
24.4 應(yīng)用場景 320

★經(jīng) 驗(yàn) 篇


第25章 關(guān)于設(shè)計(jì)模式的理解 324
25.1 眾多書籍之下為何還要寫此書 324
25.2 設(shè)計(jì)模式玄嗎 324
25.3 如何區(qū)分不同的模式 325
25.4 編程思想的三重境界 325
第26章 關(guān)于設(shè)計(jì)原則的思考 327
26.1 SOLID原則 327
26.1.1 單一職責(zé)原則 327
26.1.2 開放封閉原則 331
26.1.3 里氏替換原則 334
26.1.4 依賴倒置原則 337
26.1.5 接口隔離原則 341
26.2 是否一定要遵循這些設(shè)計(jì)原則 348
26.2.1 軟件設(shè)計(jì)是一個(gè)逐步優(yōu)化的過程 348
26.2.2 不是一定要遵循這些設(shè)計(jì)原則 349
26.3 更為實(shí)用的設(shè)計(jì)原則 349
26.3.1 LoD原則(Law of Demeter) 349
26.3.2 KISS原則(Keep It Simple and Stupid) 350
26.3.3 DRY原則(Don’t Repeat Yourself) 351
26.3.4 YAGNI原則(You Aren't Gonna Need It) 353
26.3.5 Rule Of Three原則 353
26.3.6 CQS原則(Command-Query Separation) 354
第27章 關(guān)于項(xiàng)目重構(gòu)的思考 355
27.1 什么叫重構(gòu) 355
27.2 為何要重構(gòu) 355
27.3 什么時(shí)機(jī)進(jìn)行重構(gòu) 356
27.4 如何重構(gòu)代碼 357
27.4.1 重命名 357
27.4.2 函數(shù)重構(gòu) 358
27.4.3 重新組織數(shù)據(jù) 359
27.4.4 用設(shè)計(jì)模式改善代碼設(shè)計(jì) 360
27.5 代碼整潔之道 360
27.5.1 命名的學(xué)問 360
27.5.2 整潔代碼的案例 362

附錄A 23種經(jīng)典設(shè)計(jì)模式的索引對照表 368
附錄B Python中__new__、__init__和__call__的用法 370
附錄C Python中metaclass的原理 377

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)