本書從面向對象程序設計的7個基本原則出發(fā),用淺顯易懂、可視化的UML建模語言逐一介紹GoF的23種經典設計模式。全書共9章,內容包括設計模式基礎、創(chuàng)建型設計模式(共5種)、結構型設計模式(共7種)、行為型設計模式(共11種)、設計模式實驗指導。每章包括教學目標、重點內容、模式的定義與特點、模式的結構與實現(xiàn)、模式的應用場景與應用實例、模式的擴展、章節(jié)小結和單元習題等8方面的內容。
軟件設計中如何提高代碼的可復用性、可維護性、健壯性、安全性和可讀性。淺顯易懂、可視化。采用“任務驅動”的教學方法,根據(jù)各種設計模式之間的關系和相似點組織教材目錄,對每種模式提出產生背景,并用UML建模語言分析模式的結構,用簡單易懂的實例加深學生對該模式的理解。實例都取材于生活,豐富多彩的窗體程序開發(fā)
1)近5年在韶關學院主要擔任以下課程的教學工作:Java語言程序設計、WIN高級編程、Java設計模式、現(xiàn)代交換技術、WIN環(huán)境編程、編譯原理、NET體系結構及程序設計、J2EE體系結構及程序設計、UML軟件建模。 2)科研情況:2014年6月本人開發(fā)“韶關學院網(wǎng)絡編程實驗平臺”獲取軟件著作權[專利號(登記號):2014SR085854],2015年7月本人開發(fā)的“銀行網(wǎng)點工作效率分析軟件”獲取軟件著作權[專利號(登記號):2015SR129204];另外2013-2015年主持了“創(chuàng)建型模式下的網(wǎng)絡編程實驗探索與實踐(SYJY20131424)”教學改革研究項目和“JAVA程序設計基礎(70302-00039)”網(wǎng)絡課程建設項目,以及擔任“校園網(wǎng)盤資源管理平臺的開發(fā)與設計(sycxcy2012—078)”的大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目的指導工作。 3)教材出版情況:2015年擔任教材《Java語言程序設計》(ISBN:9787562348276、華南理工大學出版社)的第二副主編,2016年擔任《Java面向對象程序設計》(ISBN:9787564740634、電子科技大學出版社)的第一主編。 4)2012-2014年指導學生參加“藍橋杯”全國軟件設計大賽、第七屆至第九屆全國信息技術應用水平大賽、第六屆中國大學生計算機設計大賽中獲取過全國二等獎、全國三等獎以及省一二三等獎等。
目錄
第 1章 設計模式基礎 1
1.1 軟件設計模式概述 1
1.1.1 軟件設計模式的產生背景 1
1.1.2 軟件設計模式的概念與意義 2
1.1.3 軟件設計模式的基本要素 2
1.1.4 GoF的23種設計模式簡介 3
1.2 UML中的類圖 5
1.2.1 統(tǒng)一建模語言簡介 5
1.2.2 類、接口和類圖 5
1.2.3 類之間的關系 6
1.3 面向對象的設計原則 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 七種設計原則的要點 25
1.5 習題 25
第 2章 創(chuàng)建型模式(上) 28
2.1 創(chuàng)建型模式概述 28
2.2 單例模式 28
2.2.1 模式的定義與特點 29
2.2.2 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(xiàn) 63
3.3.3 模式的應用實例 66
3.3.4 模式的應用場景 69
3.3.5 模式的擴展 70
3.5 習題 70
第4章 結構型模式(上) 73
4.1 結構型模式概述 73
4.2 代理模式 73
4.2.1 模式的定義與特點 74
4.2.2 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(xiàn) 87
4.4.3 模式的應用實例 89
4.4.4 模式的應用場景 94
4.4.5 模式的擴展 94
4.6 習題 95
第5章 結構型模式(下) 99
5.1 裝飾模式 99
5.1.1 模式的定義與特點 99
5.1.2 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(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 模式的結構與實現(xiàn) 239
8.4.3 模式的應用實例 242
8.4.4 模式的應用場景 244
8.4.5 模式的擴展 244
8.6 習題 245
第9章 設計模式實驗指導 248
9.1 Umlet的使用與類圖的設計 248
9.1.1 實驗目的 248
9.1.2 實驗原理 248
9.1.3 實驗內容 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 實驗內容 253
9.2.4 實驗要求 253
9.2.5 實驗步驟 254
9.3 結構型模式應用實驗 257
9.3.1 實驗目的 258
9.3.2 實驗原理 258
9.3.3 實驗內容 259
9.3.4 實驗要求 259
9.3.5 實驗步驟 259
9.4 行為型模式應用實驗 261
9.4.1 實驗目的 261
9.4.2 實驗原理 262
9.4.3 實驗內容 263
9.4.4 實驗要求 263
9.4.5 實驗步驟 263