《軟體設計模式簡明教程(Java版)》是2020年電子工業出版社出版的圖書。
基本介紹
- 中文名:軟體設計模式簡明教程(Java版)
- 作者:張凱、吳志祥、萬春璐、王磊
- 出版時間:2020年10月1日
- 出版社:電子工業出版社
- ISBN:9787121396908
內容簡介,圖書目錄,作者簡介,
內容簡介
本書系統地介紹了軟體設計模式的基礎知識和23種GoF設計模式,結構合理,共分7章,依次包括設計模式概述、UML類圖及類間關係、面向對象的七大設計原則、5種創建型設計模式、7種結構型設計模式、11種行為型設計模式和設計模式綜合訓練。本書邏輯性極強,對每種設計模式進行了系統的介紹,依次包括模式動機、模式結構與角色分析、模式實例解析和模式效果分析。配套的課程網站包括了課程學習指導、上機實驗指導、課件和課程檔案檔案下載等,配套的數字資源可方便學生自主學習。
圖書目錄
第1章 軟體設計模式的概述 1
1.1 軟體設計模式及其發展簡史 1
1.1.1 模式與軟體設計模式 1
1.1.2 軟體設計模式的產生與發展 1
1.1.3 軟體設計模式的基本特點 2
1.2 軟體設計模式的定義、基本要素及研究意義 6
1.2.1 軟體設計模式的定義 6
1.2.2 基本要素 6
1.2.3 研究意義 7
1.3 GoF設計模式及其分類 7
1.3.1 GoF設計模式 7
1.3.2 創建型設計模式、結構型設計模式和行為型設計模式 8
1.3.3 類模式與對象模式 8
1.3.4 進一步分類 8
1.4 軟體設計模式的相關課程 9
1.4.1 軟體體系結構 9
1.4.2 軟體工程 9
1.4.3 Java方向的系列課程 9
習題 11
第2章 UML類圖及類間關係 13
2.1 UML概述 13
2.1.1 UML定義及發展簡史 13
2.1.2 UML建模技術的套用 14
2.2 UML類圖 15
2.2.1 使用UML表示類 15
2.2.2 UML類圖繪製軟體 15
2.2.3 AmaterasUML外掛程式的使用 16
2.3 類間關係及其UML類圖表示 17
2.3.1 關聯關係 17
2.3.2 依賴關係 19
2.3.3 泛化關係 19
2.3.4 實現關係 20
習題 21
實驗 22
第3章 面向對象設計原則 23
3.1 面向對象設計原則的概述 23
3.2 開閉原則 24
3.3 里氏代換原則 24
3.4 依賴倒置原則 25
3.5 合成-聚合復用原則 25
3.6 單一職責原則 27
3.7 迪米特法則 28
3.8 接口隔離原則 29
習題 30
實驗 32
第4章 創建型設計模式 33
4.1 工廠模式 33
4.1.1 預備知識:XML解析與使用Java反射創建對象 33
4.1.2 簡單工廠模式 38
4.1.3 工廠方法模式 41
4.1.4 抽象工廠模式 44
4.2 單例模式及其擴展 49
4.2.1 單例模式 49
4.2.2 懶漢式單例類、餓漢式單例類與執行緒安全 52
4.3 原型模式及其擴展 54
4.3.1 原型模式 54
4.3.2 淺克隆與深克隆 58
4.4 建造者模式及其擴展 64
4.4.1 建造者模式 64
4.4.2 使用鉤子方法控制產品的建造過程 67
4.4.3 在抽象建造者中組合產品 69
習題 72
實驗 74
第5章 結構型設計模式 76
5.1 外觀模式及套用 76
5.1.1 外觀模式 76
5.1.2 使用抽象外觀類可更好地滿足開閉原則 79
5.2 適配器模式 82
5.2.1 類適配器模式 83
5.2.2 對象適配器模式 84
5.2.3 雙向適配器模式 85
5.3 組合模式 87
5.4 代理模式及套用 93
5.4.1 代理模式 93
5.4.2 靜態代理與動態代理 96
5.4.3 JDK動態代理及套用 96
5.4.4 CGLib動態代理 100
5.4.5 遠程代理、RMI與RPC 102
5.5 橋接模式 109
5.6 裝飾模式 112
5.7 享元模式及套用 119
5.7.1 享元模式 119
5.7.2 享元模式在JDK開發中的套用 125
習題 126
實驗 129
第6章 行為型設計模式 132
6.1 策略模式 132
6.2 模板方法模式及套用 135
6.2.1 模板方法模式 135
6.2.2 模板方法模式在Servlet組件開發中的套用 138
6.3 備忘錄模式 141
6.4 觀察者模式及套用 146
6.4.1 觀察者模式 146
6.4.2 觀察者模式的套用 152
6.5 疊代器模式及套用 153
6.5.1 疊代器模式 153
6.5.2 疊代器模式在JDK集合框架中的套用 156
6.6 命令模式及其套用 157
6.6.1 命令模式 157
6.6.2 智慧型家居遙控器 160
6.6.3 日誌功能與命令的撤銷和恢復功能 163
6.6.4 使用棧實現多次撤銷與恢復 165
6.6.5 聯用命令模式和組合模式實現宏命令 168
6.7 狀態模式及套用 171
6.7.1 狀態模式 171
6.7.2 狀態模式與策略模式套用的比較 175
6.8 職責鏈模式及其擴展 180
6.8.1 職責鏈模式 180
6.8.2 純的職責鏈模式和不純的職責鏈模式 185
6.8.3 與狀態模式比較 185
6.9 中介者模式 185
6.10 訪問者模式 188
6.11 解釋器模式及套用 193
6.11.1 基礎知識:詞法分析、語法分析與抽象語法樹 193
6.11.2 解釋器模式 195
6.11.3 模式的套用 199
習題 211
實驗 215
第7章 設計模式綜合套用 219
7.1 需求分析 219
7.2 總體設計 219
7.2.1 總體設計流程圖 219
7.2.2 模組設計 219
7.2.3 界面設計 220
7.3 功能設計及其設計模式分析 222
7.3.1 使用簡單工廠模式和單例模式管理繪圖工具 222
7.3.2 使用模板方法管理工具面板和顏色面板 223
7.3.3 使用狀態模式管理系統選單 226
7.3.4 使用疊代器模式存取圖片檔案 227
7.3.5 使用備忘錄模式管理編輯操作 230
習題 232
實驗 234
參考文獻 236
作者簡介
張凱,武漢科技大學計算機學院教授,主要從事多目標進化算法、DNA分子計算、虛擬現實技術等領域的研究。