軟件設(shè)計(jì)模式實(shí)用教程
-
【作 者】主編 車戰(zhàn)斌
【I S B N 】978-7-5170-7230-0
【責(zé)任編輯】張玉玲
【適用讀者群】本專通用
【出版時(shí)間】2019-03-20
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】272
【千字?jǐn)?shù)】422
【印 張】17
【定 價(jià)】¥48
【叢 書】普通高等教育“十三五”規(guī)劃教材(軟件工程專業(yè))
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
軟件設(shè)計(jì)模式是軟件工程前人經(jīng)驗(yàn)的積累與總結(jié),它為構(gòu)建易維護(hù)和便復(fù)用的軟件而誕生。本書結(jié)合大量的應(yīng)用實(shí)例分析和講解每一個(gè)常用的設(shè)計(jì)模式,貼近生活,力求通俗易懂,并且在真實(shí)項(xiàng)目實(shí)例的引導(dǎo)下學(xué)會(huì)合理運(yùn)用設(shè)計(jì)模式。
本書分為3個(gè)部分,共6章內(nèi)容:第1部分(第1章、第2章)為基礎(chǔ)知識(shí),包括UML類圖講解和設(shè)計(jì)原則等;第2部分(第3章、第4章、第5章)為設(shè)計(jì)模式講解,包括6種常用的創(chuàng)建型設(shè)計(jì)模式、7種常用的結(jié)構(gòu)型設(shè)計(jì)模式和10種常用的行為型設(shè)計(jì)模式;第3部分(第6章)為綜合案例,使用多種模式混合解決實(shí)際應(yīng)用問題。
本書適合作為高等學(xué)校計(jì)算機(jī)專業(yè)的軟件開發(fā)課程教材,也可作為一線開發(fā)人員、高等院校計(jì)算機(jī)及軟件等相關(guān)專業(yè)師生、IT培訓(xùn)機(jī)構(gòu)講師和學(xué)員、業(yè)余軟件開發(fā)人員、設(shè)計(jì)模式研究人員以及愛好者的參考用書。
選取熟悉的業(yè)務(wù)場景完成每個(gè)模式的引題。
整本教材以實(shí)際開發(fā)應(yīng)用貫穿關(guān)鍵知識(shí)點(diǎn)。
具有大量多種形式的課后習(xí)題。
什么是軟件設(shè)計(jì)?如何進(jìn)行軟件設(shè)計(jì)?依據(jù)設(shè)計(jì)類圖如何寫代碼?怎么使用設(shè)計(jì)模式?……
這是很多開發(fā)人員或者設(shè)計(jì)人員曾有過的感慨,尤其是初級(jí)設(shè)計(jì)人員或初識(shí)設(shè)計(jì)模式人員。
目前市面也有不少關(guān)于設(shè)計(jì)模式的書籍,有的主要是針對(duì)重點(diǎn)院校,完全是理論講解并且針對(duì)每個(gè)模式講解的篇幅相對(duì)偏少;有些教材易懂,作為入門教材比較好,但多數(shù)是翻譯版,不能完全忠實(shí)于原文,并且文中詳細(xì)講解的模式數(shù)量相對(duì)少,沒有針對(duì)性的課后習(xí)題;還有一些書籍,作為入門參考教材挺好,但其中的引題基本上都是生活中的例子,這樣不符合軟件設(shè)計(jì)思維,并且也沒有針對(duì)性練習(xí)題。上述教材對(duì)于以培養(yǎng)應(yīng)用型軟件工程人才為目標(biāo)的高等院校,不能很好地滿足課程目標(biāo)。為了解決只會(huì)編寫代碼,而不知道規(guī)范且想快速上手設(shè)計(jì)的初學(xué)者來說,本書可以為你答疑解惑。
本書以隨手拈來的生活實(shí)例為最好的設(shè)計(jì)(Java代碼引題),結(jié)合項(xiàng)目實(shí)例講解設(shè)計(jì)模式,講解如何通過模式來解決上述生活問題,讓讀者能夠快速提升自己的開發(fā)和設(shè)計(jì)能力,真正地理解和掌握每一個(gè)設(shè)計(jì)模式。
本書的組織
本書分為3個(gè)部分,主要講授面向?qū)ο笤O(shè)計(jì)中使用的UML相關(guān)知識(shí)及設(shè)計(jì)原則,隨后對(duì)設(shè)計(jì)模式進(jìn)行總體的介紹,然后從創(chuàng)建型、結(jié)構(gòu)型、行為型三種分類下常用的設(shè)計(jì)模式進(jìn)行深入淺出地講解,最后以2個(gè)綜合案例講解混合模式的使用。
第1部分是基礎(chǔ)知識(shí),包括第1章、第2章,由車戰(zhàn)斌、李勇軍執(zhí)筆。該部分主要是進(jìn)行UML中常用類圖及設(shè)計(jì)原則的詳細(xì)講解。
第2部分是設(shè)計(jì)模式,包括第3章、第4章、第5章,其中第3章創(chuàng)建型模式由高亮執(zhí)筆,第4章結(jié)構(gòu)型模式由李勇軍執(zhí)筆,第5章行為型模式,由余雨萍、郭麗執(zhí)筆。該部分主要是講解常用的設(shè)計(jì)模式。
第2部分對(duì)于每個(gè)模式的講解,力求通俗易懂,真實(shí)場景應(yīng)用,每個(gè)模式講解的基本結(jié)構(gòu)如下:
第3部分是綜合案例(第6章),由高亮、郭麗執(zhí)筆。該部分主要是講解使用多種模式來解決問題的方法。
本書特點(diǎn)
(1)選取熟悉的業(yè)務(wù)場景完成每個(gè)模式的引題;
(2)整本教材以實(shí)際開發(fā)應(yīng)用貫穿關(guān)鍵知識(shí)點(diǎn);
(3)具有大量多種形式的課后習(xí)題。
本書風(fēng)格
語句及案例接“地氣”,通俗易懂,以常見案例的Java代碼作為引題,隨后介紹相關(guān)模式的知識(shí),最后以類似案例進(jìn)行分析講解,并配以大量多種形式的習(xí)題。
本書由車戰(zhàn)斌教授主編并統(tǒng)稿,李勇軍、高亮任副主編,參與編寫的還有余雨萍、郭麗。在本書編寫過程中,本書編者進(jìn)行了多次規(guī)劃、組稿和方案討論工作,并提出了許多建設(shè)性意見,在此一并表示感謝。
由于編者水平有限,書中錯(cuò)誤或不妥之處在所難免,懇請(qǐng)廣大讀者批評(píng)指正,歡迎通過電子郵箱yongjunli@zut.edu.cn來信告知。
編 者
2019年1月
第一部分 基礎(chǔ)知識(shí)
第1章 UML類圖講解 1
1.1 UML中類的表示法 1
1.2 UML中類之間的關(guān)系 4
1.3 如何閱讀類圖 9
1.4 本章小結(jié) 12
第2章 設(shè)計(jì)原則介紹 13
2.1 單一職責(zé)原則 13
2.1.1 引題 13
2.1.2 相關(guān)知識(shí) 14
2.1.3 應(yīng)用 15
2.2 里氏替換原則 16
2.2.1 引題 16
2.2.2 相關(guān)知識(shí) 17
2.2.3 應(yīng)用 17
2.3 開-閉原則 20
2.3.1 引題 20
2.3.2 相關(guān)知識(shí) 23
2.3.3 應(yīng)用 24
2.4 依賴倒置原則 26
2.4.1 引題 26
2.4.2 相關(guān)知識(shí) 27
2.4.3 應(yīng)用 27
2.5 接口隔離原則 28
2.5.1 引題 28
2.5.2 相關(guān)知識(shí) 30
2.5.3 應(yīng)用 30
2.6 迪米特法則 31
2.6.1 引題 31
2.6.2 相關(guān)知識(shí) 32
2.6.3 應(yīng)用 33
2.7 合成/聚合復(fù)用原則 34
2.7.1 引題 34
2.7.2 相關(guān)知識(shí) 35
2.7.3 應(yīng)用 36
2.8 本章小結(jié) 37
第二部分 設(shè)計(jì)模式
第3章 創(chuàng)建型模式 38
3.1 簡單工廠模式 38
3.1.1 引題 38
3.1.2 簡單工廠模式定義 41
3.1.3 簡單工廠模式相關(guān)知識(shí) 42
3.1.4 應(yīng)用舉例 43
3.1.5 應(yīng)用擴(kuò)展——簡單工廠模式在JDK
中的應(yīng)用 44
3.2 工廠方法模式 44
3.2.1 引題 44
3.2.2 工廠方法模式定義 45
3.2.3 工廠方法模式相關(guān)知識(shí) 46
3.2.4 應(yīng)用舉例 47
3.2.5 應(yīng)用擴(kuò)展——反射在工廠方法模式
中的應(yīng)用 49
3.3 抽象工廠模式 51
3.3.1 引題 51
3.3.2 抽象工廠模式定義 51
3.3.3 抽象工廠模式相關(guān)知識(shí) 54
3.3.4 應(yīng)用舉例 54
3.3.5 應(yīng)用擴(kuò)展——抽象工廠模式在JDK
中的應(yīng)用 57
3.4 單例模式 58
3.4.1 引題 58
3.4.2 單例模式定義 59
3.4.3 單例模式相關(guān)知識(shí) 60
3.4.4 應(yīng)用舉例 60
3.4.5 應(yīng)用擴(kuò)展——單例模式在多線程
中的應(yīng)用 61
3.5 原型模式 63
3.5.1 引題 63
3.5.2 原型模式定義 65
3.5.3 原型模式相關(guān)知識(shí) 66
3.5.4 應(yīng)用舉例 67
3.5.5 應(yīng)用擴(kuò)展——淺復(fù)制與深復(fù)制 69
3.6 建造者模式 74
3.6.1 引題 74
3.6.2 建造者模式定義 75
3.6.3 建造者模式相關(guān)知識(shí) 77
3.6.4 應(yīng)用舉例 78
3.6.5 應(yīng)用擴(kuò)展——建造者模式在Java API
中的應(yīng)用 80
3.7 本章小結(jié) 80
3.8 習(xí)題 80
第4章 結(jié)構(gòu)型模式 83
4.1 裝飾者模式 83
4.1.1 引題 83
4.1.2 裝飾者模式定義 86
4.1.3 裝飾者模式相關(guān)知識(shí) 88
4.1.4 應(yīng)用舉例 88
4.1.5 應(yīng)用擴(kuò)展——裝飾者模式在Java API
中的應(yīng)用 96
4.2 代理模式 97
4.2.1 引題 97
4.2.2 代理模式定義 100
4.2.3 代理模式相關(guān)知識(shí) 101
4.2.4 應(yīng)用舉例 102
4.2.5 應(yīng)用擴(kuò)展——代理模式在Java API
中的應(yīng)用 105
4.3 適配器模式 106
4.3.1 引題 106
4.3.2 適配器模式定義 106
4.3.3 適配器模式相關(guān)知識(shí) 108
4.3.4 應(yīng)用舉例 108
4.3.5 應(yīng)用擴(kuò)展——適配器模式在Java API
中的應(yīng)用 114
4.4 外觀模式 114
4.4.1 引題 114
4.4.2 外觀模式定義 115
4.4.3 外觀模式相關(guān)知識(shí) 117
4.4.4 應(yīng)用舉例 117
4.4.5 應(yīng)用擴(kuò)展——外觀模式在Java API
中的應(yīng)用 122
4.5 組合模式 122
4.5.1 引題 122
4.5.2 組合模式定義 125
4.5.3 組合模式相關(guān)知識(shí) 127
4.5.4 應(yīng)用舉例 127
4.5.5 應(yīng)用擴(kuò)展——組合模式在
Java API中的應(yīng)用 134
4.6 橋接模式 135
4.6.1 引題 135
4.6.2 橋接模式定義 137
4.6.3 橋接模式相關(guān)知識(shí) 138
4.6.4 應(yīng)用舉例 139
4.6.5 應(yīng)用擴(kuò)展——橋接模式在
Java API中的應(yīng)用 143
4.7 享元模式 143
4.7.1 引題 143
4.7.2 享元模式定義 144
4.7.3 享元模式相關(guān)知識(shí) 146
4.7.4 應(yīng)用舉例 147
4.7.5 應(yīng)用擴(kuò)展——享元模式在
Java API中的應(yīng)用 153
4.8 本章小結(jié) 153
4.9 習(xí)題 153
第5章 行為型模式 160
5.1 觀察者模式 160
5.1.1 引題 160
5.1.2 觀察者模式定義 163
5.1.3 觀察者模式相關(guān)知識(shí) 165
5.1.4 應(yīng)用舉例 166
5.1.5 應(yīng)用擴(kuò)展——觀察者模式在
Java APJ中的應(yīng)用 167
5.2 迭代器模式 169
5.2.1 引題 169
5.2.2 迭代器模式定義 173
5.2.3 迭代器模式相關(guān)知識(shí) 175
5.2.4 應(yīng)用舉例 176
5.2.5 應(yīng)用擴(kuò)展——迭代器模式在
Java JDK中的應(yīng)用 179
5.3 策略模式 181
5.3.1 引題 181
5.3.2 策略模式的定義 186
5.3.3 策略模式相關(guān)知識(shí) 187
5.3.4 應(yīng)用舉例 188
5.3.5 應(yīng)用擴(kuò)展——策略模式在JDK
中的應(yīng)用 190
5.4 模板方法模式 191
5.4.1 引題 191
5.4.2 模板方法模式定義 191
5.4.3 模板方法模式相關(guān)知識(shí) 193
5.4.4 應(yīng)用舉例 193
5.4.5 應(yīng)用擴(kuò)展——模板方法模式在
Java API中的應(yīng)用 195
5.5 命令模式 195
5.5.1 引題 195
5.5.2 命令模式定義 196
5.5.3 命令模式相關(guān)知識(shí) 198
5.5.4 應(yīng)用舉例 198
5.5.5 應(yīng)用擴(kuò)展——命令模式在Java API
中的應(yīng)用 201
5.6 狀態(tài)模式 201
5.6.1 引題 201
5.6.2 狀態(tài)模式定義 201
5.6.3 狀態(tài)模式相關(guān)知識(shí) 203
5.6.4 應(yīng)用舉例 203
5.6.5 應(yīng)用擴(kuò)展——狀態(tài)模式在Java API
中的應(yīng)用 207
5.7 責(zé)任鏈模式 207
5.7.1 引題 207
5.7.2 責(zé)任鏈模式定義 208
5.7.3 責(zé)任鏈模式相關(guān)知識(shí) 209
5.7.4 應(yīng)用舉例 210
5.7.5 應(yīng)用擴(kuò)展——責(zé)任鏈模式在Java API
中的應(yīng)用 212
5.8 解釋器模式 212
5.8.1 引題 212
5.8.2 解釋器模式定義 212
5.8.3 解釋器模式相關(guān)知識(shí) 214
5.8.4 應(yīng)用舉例 214
5.9 備忘錄模式 217
5.9.1 引題 217
5.9.2 備忘錄模式定義 217
5.9.3 備忘錄模式相關(guān)知識(shí) 219
5.9.4 應(yīng)用舉例 220
5.9.5 應(yīng)用擴(kuò)展 222
5.10 中介者模式 222
5.10.1 引題 222
5.10.2 中介者模式定義 223
5.10.3 中介者模式相關(guān)知識(shí) 225
5.10.4 應(yīng)用舉例 225
5.11 本章小結(jié) 229
5.12 習(xí)題 230
第三部分 綜合案例
第6章 案例—學(xué)生信息管理系統(tǒng) 236
6.1 學(xué)生信息管理系統(tǒng)—抽象工廠模式與
單例模式結(jié)合 236
6.1.1 系統(tǒng)需求 236
6.1.2 模式應(yīng)用分析 236
6.1.3 類設(shè)計(jì) 237
6.1.4 詳細(xì)編碼 238
6.2 數(shù)據(jù)庫連接池—?jiǎng)討B(tài)代理模式與單例
模式相結(jié)合 254
6.2.1 需求分析 254
6.2.2 動(dòng)態(tài)代理模式與單例模式實(shí)現(xiàn)
數(shù)據(jù)庫連接池 255
6.2.3 數(shù)據(jù)庫連接池的使用 262
6.3 小結(jié) 263
參考文獻(xiàn) 264
- 嵌入式人工智能技術(shù)應(yīng)用(數(shù)字教材) [主編 胡娜 楊國勇 晏廷榮]
- Java Web項(xiàng)目化設(shè)計(jì)實(shí)踐教程 [邱云 曾陳萍]
- 人工智能開發(fā)框架應(yīng)用 [主編 王明超 蘆婭云]
- 民航客艙服務(wù)實(shí)用英語教程 [主編 田靜 徐亞玲]
- Python數(shù)據(jù)分析 [主編 馮志輝 趙磊 李放]
- 大學(xué)信息技術(shù) [曾翰穎 編著]
- 多維視域下的高校籃球教學(xué)創(chuàng)新研究 [張利超 李寧 著]
- 創(chuàng)新創(chuàng)業(yè)訓(xùn)練實(shí)踐教程 [主編 王日華 陳武 黃喆誠]
- 實(shí)用運(yùn)籌學(xué) [主編 邢育紅 于晉臣]
- 電子技術(shù)(第二版) [主編 覃愛娜 李飛]
- 勞動(dòng)爭議處理實(shí)務(wù) [主編 王秀卿 羅靜]
- 工程數(shù)學(xué) [主編 郭立娟 王海]
- 語音識(shí)別理論與實(shí)踐 [主編 莫宏偉]
- 武術(shù)基礎(chǔ)教程 [主編 李代勇 謝志民]
- 計(jì)算機(jī)網(wǎng)絡(luò)實(shí)訓(xùn)教程 [主編 張浩軍 趙玉娟]
- 畫法幾何與機(jī)械制圖習(xí)題集(多學(xué)時(shí)) [主編 趙軍]
- 電工電子技術(shù)基礎(chǔ) [主編 劉 軍 楊國龍 劉天成]
- MySQL數(shù)據(jù)庫項(xiàng)目式教程 [陳亞峰]
- 機(jī)械設(shè)計(jì)基礎(chǔ)(第二版) [主編 田亞平 李愛姣]
- 畫法幾何與機(jī)械制圖 [主編 趙軍]
- C語言程序設(shè)計(jì)習(xí)題與實(shí)驗(yàn)指導(dǎo)(第二版) [主編 甄增榮 張賓]
- C語言程序設(shè)計(jì)(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現(xiàn)實(shí)應(yīng)用開發(fā)實(shí)踐 [主 編 劉龍]
- 智能化技術(shù)基礎(chǔ)(第三版) [鄧文達(dá) 李禮]
- 面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 張勇 張平華 趙小龍]
- 網(wǎng)絡(luò)營銷 [主編 夏薇薇 劉婷 尚潔]
- 電視節(jié)目策劃與制作(微課版) [主 編 黃滴滴]
- 數(shù)據(jù)庫技術(shù)與應(yīng)用實(shí)踐教程(SQL Server 2019) [主 編 嚴(yán)暉 周肆清]
- 大學(xué)應(yīng)用數(shù)學(xué) [主編 郭立娟]
- 軟件設(shè)計(jì)師考前沖刺100題 [施游 王曉笛 鄒月平 編著]
- 生活經(jīng)管more>>
- C#程序設(shè)計(jì)教程
- 軟件設(shè)計(jì)模式實(shí)用教程
- 數(shù)據(jù)庫原理及應(yīng)用(MySQL版)
- 基于Android平臺(tái)的移動(dòng)開發(fā)技術(shù)
- Android 應(yīng)用開發(fā)項(xiàng)目實(shí)戰(zhàn)
- 軟件工程(第二版)
- 軟件工程(第二版)
- Java程序設(shè)計(jì)案例教程
- Visual C++6.0程序項(xiàng)目案例教程
- 數(shù)據(jù)庫原理
- 計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)指導(dǎo)
- ACM程序設(shè)計(jì)基礎(chǔ)
- Android應(yīng)用開發(fā)基礎(chǔ)教程
- Java程序設(shè)計(jì)實(shí)訓(xùn)教程
- Java面向?qū)ο蟪绦蛟O(shè)計(jì)
- Java面向?qū)ο蟪绦蛟O(shè)計(jì)

