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