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