本書從面向?qū)ο蟪绦蛟O(shè)計的7個基本原則出發(fā),用淺顯易懂、可視化的UML建模語言逐一介紹GoF的23種經(jīng)典設(shè)計模式。全書共9章,內(nèi)容包括設(shè)計模式基礎(chǔ)、創(chuàng)建型設(shè)計模式(共5種)、結(jié)構(gòu)型設(shè)計模式(共7種)、行為型設(shè)計模式(共11種)、設(shè)計模式實驗指導。每章包括教學目標、重點內(nèi)容、模式的定義與特點、模式的結(jié)構(gòu)與實現(xiàn)、模式的應用場景與應用實例、模式的擴展、章節(jié)小結(jié)和單元習題等8方面的內(nèi)容。
軟件設(shè)計中如何提高代碼的可復用性、可維護性、健壯性、安全性和可讀性。淺顯易懂、可視化。采用“任務驅(qū)動”的教學方法,根據(jù)各種設(shè)計模式之間的關(guān)系和相似點組織教材目錄,對每種模式提出產(chǎn)生背景,并用UML建模語言分析模式的結(jié)構(gòu),用簡單易懂的實例加深學生對該模式的理解。實例都取材于生活,豐富多彩的窗體程序開發(fā)
1)近5年在韶關(guān)學院主要擔任以下課程的教學工作:Java語言程序設(shè)計、WIN高級編程、Java設(shè)計模式、現(xiàn)代交換技術(shù)、WIN環(huán)境編程、編譯原理、NET體系結(jié)構(gòu)及程序設(shè)計、J2EE體系結(jié)構(gòu)及程序設(shè)計、UML軟件建模。 2)科研情況:2014年6月本人開發(fā)“韶關(guān)學院網(wǎng)絡(luò)編程實驗平臺”獲取軟件著作權(quán)[專利號(登記號):2014SR085854],2015年7月本人開發(fā)的“銀行網(wǎng)點工作效率分析軟件”獲取軟件著作權(quán)[專利號(登記號):2015SR129204];另外2013-2015年主持了“創(chuàng)建型模式下的網(wǎng)絡(luò)編程實驗探索與實踐(SYJY20131424)”教學改革研究項目和“JAVA程序設(shè)計基礎(chǔ)(70302-00039)”網(wǎng)絡(luò)課程建設(shè)項目,以及擔任“校園網(wǎng)盤資源管理平臺的開發(fā)與設(shè)計(sycxcy2012—078)”的大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目的指導工作。 3)教材出版情況:2015年擔任教材《Java語言程序設(shè)計》(ISBN:9787562348276、華南理工大學出版社)的第二副主編,2016年擔任《Java面向?qū)ο蟪绦蛟O(shè)計》(ISBN:9787564740634、電子科技大學出版社)的第一主編。 4)2012-2014年指導學生參加“藍橋杯”全國軟件設(shè)計大賽、第七屆至第九屆全國信息技術(shù)應用水平大賽、第六屆中國大學生計算機設(shè)計大賽中獲取過全國二等獎、全國三等獎以及省一二三等獎等。
目錄
第 1章 設(shè)計模式基礎(chǔ) 1
1.1 軟件設(shè)計模式概述 1
1.1.1 軟件設(shè)計模式的產(chǎn)生背景 1
1.1.2 軟件設(shè)計模式的概念與意義 2
1.1.3 軟件設(shè)計模式的基本要素 2
1.1.4 GoF的23種設(shè)計模式簡介 3
1.2 UML中的類圖 5
1.2.1 統(tǒng)一建模語言簡介 5
1.2.2 類、接口和類圖 5
1.2.3 類之間的關(guān)系 6
1.3 面向?qū)ο蟮脑O(shè)計原則 9
1.3.1 開閉原則 9
1.3.2 里氏替換原則 10
1.3.3 依賴倒置原則 13
1.3.4 單一職責原則 16
1.3.5 接口隔離原則 17
1.3.6 迪米特法則 20
1.3.7 合成復用原則 23
1.3.8 七種設(shè)計原則的要點 25
1.5 習題 25
第 2章 創(chuàng)建型模式(上) 28
2.1 創(chuàng)建型模式概述 28
2.2 單例模式 28
2.2.1 模式的定義與特點 29
2.2.2 模式的結(jié)構(gòu)與實現(xiàn) 29
2.2.3 模式的應用實例 30
2.2.4 模式的應用場景 34
2.2.5 模式的擴展 34
2.3 原型模式 34
2.3.1 模式的定義與特點 34
2.3.2 模式的結(jié)構(gòu)與實現(xiàn) 35
2.3.3 模式的應用實例 36
2.3.4 模式的應用場景 39
2.3.5 模式的擴展 39
2.5 習題 43
第3章 創(chuàng)建型模式(下) 46
3.1 工廠方法模式 46
3.1.1 模式的定義與特點 46
3.1.2 模式的結(jié)構(gòu)與實現(xiàn) 46
3.1.3 模式的應用實例 50
3.1.4 模式的應用場景 54
3.1.5 模式的擴展 54
3.2 抽象工廠模式 54
3.2.1 模式的定義與特點 55
3.2.2 模式的結(jié)構(gòu)與實現(xiàn) 55
3.2.3 模式的應用實例 57
3.2.4 模式的應用場景 62
3.2.5 模式的擴展 63
3.3 建造者模式 63
3.3.1 模式的定義與特點 63
3.3.2 模式的結(jié)構(gòu)與實現(xiàn) 63
3.3.3 模式的應用實例 66
3.3.4 模式的應用場景 69
3.3.5 模式的擴展 70
3.5 習題 70
第4章 結(jié)構(gòu)型模式(上) 73
4.1 結(jié)構(gòu)型模式概述 73
4.2 代理模式 73
4.2.1 模式的定義與特點 74
4.2.2 模式的結(jié)構(gòu)與實現(xiàn) 74
4.2.3 模式的應用實例 76
4.2.4 模式的應用場景 78
4.2.5 模式的擴展 78
4.3 適配器模式 79
4.3.1 模式的定義與特點 79
4.3.2 模式的結(jié)構(gòu)與實現(xiàn) 80
4.3.3 模式的應用實例 82
4.3.4 模式的應用場景 85
4.3.5 模式的擴展 85
4.4 橋接模式 87
4.4.1 模式的定義與特點 87
4.4.2 模式的結(jié)構(gòu)與實現(xiàn) 87
4.4.3 模式的應用實例 89
4.4.4 模式的應用場景 94
4.4.5 模式的擴展 94
4.6 習題 95
第5章 結(jié)構(gòu)型模式(下) 99
5.1 裝飾模式 99
5.1.1 模式的定義與特點 99
5.1.2 模式的結(jié)構(gòu)與實現(xiàn) 99
5.1.3 模式的應用實例 102
5.1.4 模式的應用場景 105
5.1.5 模式的擴展 105
5.2 外觀模式 107
5.2.1 模式的定義與特點 107
5.2.2 模式的結(jié)構(gòu)與實現(xiàn) 108
5.2.3 模式的應用實例 109
5.2.4 模式的應用場景 114
5.2.5 模式的擴展 114
5.3 享元模式 115
5.3.1 模式的定義與特點 115
5.3.2 模式的結(jié)構(gòu)與實現(xiàn) 115
5.3.3 模式的應用實例 118
5.3.4 模式的應用場景 122
5.3.5 模式的擴展 122
5.4 組合模式 123
5.4.1 模式的定義與特點 123
5.4.2 模式的結(jié)構(gòu)與實現(xiàn) 123
5.4.3 模式的應用實例 127
5.4.4 模式的應用場景 131
5.4.5 模式的擴展 131
4.6 習題 131
第6章 行為型模式(上) 137
6.1 行為型模式概述 137
6.2 模板方法模式 138
6.2.1 模式的定義與特點 138
6.2.2 模式的結(jié)構(gòu)與實現(xiàn) 138
6.2.3 模式的應用實例 140
6.2.4 模式的應用場景 144
6.2.5 模式的擴展 144
6.3 策略模式 146
6.3.1 模式的定義與特點 146
6.3.2 模式的結(jié)構(gòu)與實現(xiàn) 146
6.3.3 模式的應用實例 148
6.3.4 模式的應用場景 152
6.3.5 模式的擴展 152
6.4 命令模式 153
6.4.1 模式的定義與特點 153
6.4.2 模式的結(jié)構(gòu)與實現(xiàn) 153
6.4.3 模式的應用實例 156
6.4.4 模式的應用場景 160
6.4.5 模式的擴展 160
6.6 習題 163
第7章 行為型模式(中) 166
7.1 職責鏈模式 166
7.1.1 模式的定義與特點 166
7.1.2 模式的結(jié)構(gòu)與實現(xiàn) 167
7.1.3 模式的應用實例 169
7.1.4 模式的應用場景 172
7.1.5 模式的擴展 172
7.2 狀態(tài)模式 173
7.2.1 模式的定義與特點 173
7.2.2 模式的結(jié)構(gòu)與實現(xiàn) 173
7.2.3 模式的應用實例 175
7.2.4 模式的應用場景 184
7.2.5 模式的擴展 184
7.3 觀察者模式 186
7.3.1 模式的定義與特點 186
7.3.2 模式的結(jié)構(gòu)與實現(xiàn) 187
7.3.3 模式的應用實例 189
7.3.4 模式的應用場景 195
7.3.5 模式的擴展 195
7.4 中介者模式 197
7.4.1 模式的定義與特點 198
7.4.2 模式的結(jié)構(gòu)與實現(xiàn) 198
7.4.3 模式的應用實例 201
7.4.4 模式的應用場景 205
7.4.5 模式的擴展 205
7.6 習題 208
第8章 行為型模式(下) 211
8.1 迭代器模式 211
8.1.1 模式的定義與特點 211
8.1.2 模式的結(jié)構(gòu)與實現(xiàn) 212
8.1.3 模式的應用實例 214
8.1.4 模式的應用場景 219
8.1.5 模式的擴展 220
8.2 訪問者模式 220
8.2.1 模式的定義與特點 221
8.2.2 模式的結(jié)構(gòu)與實現(xiàn) 221
8.2.3 模式的應用實例 224
8.2.4 模式的應用場景 229
8.2.5 模式的擴展 229
8.3 備忘錄模式 229
8.3.1 模式的定義與特點 230
8.3.2 模式的結(jié)構(gòu)與實現(xiàn) 230
8.3.3 模式的應用實例 232
8.3.4 模式的應用場景 237
8.3.5 模式的擴展 237
8.4 解釋器模式 239
8.4.1 模式的定義與特點 239
8.4.2 模式的結(jié)構(gòu)與實現(xiàn) 239
8.4.3 模式的應用實例 242
8.4.4 模式的應用場景 244
8.4.5 模式的擴展 244
8.6 習題 245
第9章 設(shè)計模式實驗指導 248
9.1 Umlet的使用與類圖的設(shè)計 248
9.1.1 實驗目的 248
9.1.2 實驗原理 248
9.1.3 實驗內(nèi)容 251
9.1.4 實驗要求 251
9.1.5 實驗步驟 251
9.2 創(chuàng)建型模式應用實驗 252
9.2.1 實驗目的 252
9.2.2 實驗原理 252
9.2.3 實驗內(nèi)容 253
9.2.4 實驗要求 253
9.2.5 實驗步驟 254
9.3 結(jié)構(gòu)型模式應用實驗 257
9.3.1 實驗目的 258
9.3.2 實驗原理 258
9.3.3 實驗內(nèi)容 259
9.3.4 實驗要求 259
9.3.5 實驗步驟 259
9.4 行為型模式應用實驗 261
9.4.1 實驗目的 261
9.4.2 實驗原理 262
9.4.3 實驗內(nèi)容 263
9.4.4 實驗要求 263
9.4.5 實驗步驟 263