軟件設(shè)計原則與模式——基于Java/Python語言實現(xiàn)(微課版)
定 價:42 元
- 作者:郭雙宙
- 出版時間:2022/7/1
- ISBN:9787121439155
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP312.8
- 頁碼:200
- 紙張:
- 版次:01
- 開本:16開
軟件設(shè)計模式分為三大類型:創(chuàng)建型、結(jié)構(gòu)型和行為型。本書共4章,分別講解三大類型中常用的14種模式,每種模式都以典型問題為案例,由相應(yīng)的設(shè)計模式給出最佳解決方案,在每章的后半部分都有相應(yīng)的案例,并分別用Java和Python語言實現(xiàn),以幫助讀者快速理解和掌握這些模式,體現(xiàn)教、學(xué)、做一體的教學(xué)理念。本書適合作為高等職業(yè)院校計算機軟件專業(yè)的教材,也可供從事軟件開發(fā)與測試維護的初、中級人員參考。
郭雙宙(1963.6—),男,碩士,副教授,北京大學(xué)軟件工程專業(yè)畢業(yè),發(fā)表論文十多篇,主持《軟件設(shè)計原則與模式》的編寫,參與《Java程序設(shè)計》教材編寫。
第1章 軟件設(shè)計原則與UML簡介 1
1.1 開閉原則 2
1.1.1 應(yīng)用實例:銀行業(yè)務(wù) 2
1.1.2 銀行業(yè)務(wù)實現(xiàn) 3
1.1.3 練習(xí) 7
1.2 里氏替換原則 11
1.2.1 預(yù)備知識 11
1.2.2 里氏替換原則簡介 11
1.2.3 “乘馬說”Java實現(xiàn) 12
1.2.4 經(jīng)典實例:鴕鳥非鳥 13
1.3 依賴倒置原則 16
1.3.1 Java應(yīng)用實例 16
1.3.2 依賴倒置原則的意義 16
1.3.3 依賴倒置原則的優(yōu)點 17
1.3.4 依賴倒置原則的例子 17
1.3.5 練習(xí)數(shù)據(jù)訪問MySQL/Oracle 18
1.4 接口隔離原則 21
1.5 合成/聚合復(fù)用原則 23
1.5.1 應(yīng)用實例 24
1.5.2 練習(xí) 25
1.6 迪米特法則 29
1.6.1 迪米特法則簡介 29
1.6.2 違反迪米特法則的設(shè)計與實現(xiàn) 30
1.6.3 遵守迪米特法則的設(shè)計與實現(xiàn) 32
1.7 單一職責原則 34
1.7.1 應(yīng)用實例:用戶信息管理系統(tǒng) 34
1.7.2 用戶信息管理系統(tǒng)設(shè)計與Java實現(xiàn) 35
1.7.3 用戶信息管理系統(tǒng)Python實現(xiàn) 37
1.8 UML簡介 38
1.8.1 依賴 38
1.8.2 關(guān)聯(lián) 39
1.8.3 聚合 39
1.8.4 組合 39
1.8.5 泛化 40
1.8.6 實現(xiàn) 40
1.9 設(shè)計模式簡介 40
第2章 創(chuàng)建型模式 42
2.1 簡單工廠模式 42
2.1.1 簡單工廠模式的結(jié)構(gòu) 43
2.1.2 應(yīng)用系統(tǒng)登錄Java實現(xiàn) 43
2.1.3 簡單工廠模式的優(yōu)缺點 46
2.1.4 練習(xí) 46
2.2 工廠方法模式 52
2.2.1 工廠方法模式的結(jié)構(gòu) 53
2.2.2 練習(xí) 55
2.3 抽象工廠模式 63
2.3.1 抽象工廠模式的起源 63
2.3.2 抽象工廠模式的結(jié)構(gòu) 64
2.3.3 抽象工廠模式的優(yōu)缺點 67
2.3.4 練習(xí) 67
2.4 單例模式 70
2.4.1 單例模式的結(jié)構(gòu) 70
2.4.2 單例模式常見的應(yīng)用場景 70
2.4.3 單例模式的類型 71
2.4.4 練習(xí) 75
2.5 多例模式 78
2.5.1 多例模式結(jié)構(gòu) 78
2.5.2 練習(xí) 79
第3章 結(jié)構(gòu)型模式 86
3.1 適配器模式 86
3.1.1 適配器模式的結(jié)構(gòu) 87
3.1.2 電源適配器實現(xiàn) 90
3.1.3 適配器模式的優(yōu)缺點 92
3.1.4 練習(xí) 93
3.2 默認適配器模式 96
3.2.1 默認適配器模式的結(jié)構(gòu) 97
3.2.2 練習(xí) 99
3.3 裝飾模式 102
3.3.1 應(yīng)用實例:孫悟空七十二般變化 102
3.3.2 裝飾模式的結(jié)構(gòu) 103
3.3.3 “孫悟空七十二般變化”Java實現(xiàn) 105
3.3.4 裝飾模式的簡化 108
3.3.5 裝飾模式進階 109
3.3.6 練習(xí) 110
3.4 門面模式 117
3.4.1 什么是門面模式 118
3.4.2 門面模式的結(jié)構(gòu) 118
3.4.3 門面模式在實際開發(fā)中的應(yīng)用場景 118
3.4.4 門面模式進階 120
3.4.5 練習(xí) 120
第4章 行為型模式 126
4.1 策略模式 126
4.1.1 應(yīng)用實例:旅游出行 126
4.1.2 策略模式的結(jié)構(gòu) 127
4.1.3 策略模式源代碼 127
4.1.4 認識策略模式 129
4.1.5 策略模式的優(yōu)缺點 129
4.1.6 排序策略系統(tǒng)Java實現(xiàn) 130
4.1.7 練習(xí) 136
4.2 模板方法模式 140
4.2.1 模板方法模式的結(jié)構(gòu) 141
4.2.2 模板方法模式中的方法 141
4.2.3 “西天取經(jīng)八十一難”Java實現(xiàn) 143
4.2.4 模板方法模式進階 144
4.2.5 練習(xí) 146
4.3 命令模式 150
4.3.1 命令模式的結(jié)構(gòu) 150
4.3.2 應(yīng)用實例:玉帝宣美猴王上天 153
4.3.3 命令模式解析 153
4.3.4 命令模式和策略模式的區(qū)別 154
4.3.5 命令模式的優(yōu)缺點 155
4.3.6 練習(xí) 155
4.4 狀態(tài)模式 164
4.4.1 狀態(tài)模式的結(jié)構(gòu) 165
4.4.2 練習(xí) 168
4.5 觀察者模式 175
4.5.1 觀察者模式結(jié)構(gòu) 175
4.5.2 觀察者模式模型 176
4.5.3 兩種模式的比較 182
4.5.4 練習(xí) 182
參考文獻 192