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