本書主要內容包括:*章和第二章是學習基礎。第三章為模式概念介紹。第四到六章,針對不同的模式采用:定義,問題分析,解決問題,應用案例的結構進行內容描述。第七章為行業案例,采用Java技術實現設計模式。
1.學堂在線提供全套視頻課程。
2.課程以案例分析與設計為軸線,板書式課堂交互教學方式,強調軟件設計思維及方法鍛煉,詳細介紹設計過程及模式經驗方案使用。
3.既有理論,又有案例,*后還有Java程序實現。
朱洪軍 中國科技大學軟件學院教師, 主講課程:Java EE輕量級框架,嵌入式軟件設計,軟件設計模式,數據庫系統與應用等。 主要研究方向: 移動應用安全,計算機軟件(軟件分析與設計,數據庫應用技術等),位置服務(LBS,Location Based Service)。
第1章 學習基礎 1
1.1 軟件工程簡介 1
1.1.1 軟件生命周期 2
1.1.2 軟件開發方法 3
1.2 理解面向對象 5
1.2.1 面向對象的特征 5
1.2.2 使用面向對象 7
1.3 UML的使用 8
1.3.1 UML的概念 8
1.3.2 使用用例圖 9
1.3.3 使用時序圖 10
1.3.4 使用類圖 12
1.4 總結 14
1.5 習題 15
第2章 面向對象程序設計原則 16
2.1 單一職責原則 16
2.2 開放/閉合原則 18
2.3 接口隔離原則 20
2.4 依賴倒置原則 22
2.5 Liskov替換原則 25
2.6 總結 28
2.7 習題 28
第3章 設計模式入門 30
3.1 設計模式的概念 30
3.1.1 設計模式的定義 30
3.1.2 使用設計模式 31
3.2 GRASP設計模式 37
3.2.1 創建者模式 37
3.2.2 信息專家模式 39
3.2.3 控制器模式 40
3.3 簡單工廠模式 43
3.4 總結 45
3.5 習題 45
第4章 GoF創建型模式 47
4.1 單例模式 47
4.1.1 模式定義 47
4.1.2 使用單例 48
4.1.3 行業案例 49
4.2 原型模式 50
4.2.1 模式定義 50
4.2.2 使用原型 51
4.2.3 行業案例 55
4.3 構造器模式 56
4.3.1 模式定義 56
4.3.2 使用構造器 58
4.3.3 行業案例 61
4.4 抽象工廠模式 63
4.4.1 模式定義 63
4.4.2 使用抽象工廠 64
4.4.3 行業案例 67
4.5 工廠方法模式 69
4.5.1 模式定義 69
4.5.2 使用工廠方法 70
4.5.3 行業案例 73
4.6 總結 75
4.7 習題 76
第5章 GoF結構型模式 78
5.1 適配器模式 78
5.1.1 模式定義 78
5.1.2 使用適配器 80
5.1.3 行業案例 83
5.2 橋模式 87
5.2.1 模式定義 87
5.2.2 使用橋 89
5.2.3 行業案例 92
5.3 組合模式 95
5.3.1 模式定義 95
5.3.2 使用組合 96
5.3.3 行業案例 98
5.4 裝飾器模式 102
5.4.1 模式定義 102
5.4.2 使用裝飾器 103
5.4.3 行業案例 107
5.5 門面模式 111
5.5.1 模式定義 111
5.5.2 使用門面 113
5.5.3 行業案例 115
5.6 享元模式 118
5.6.1 模式定義 118
5.6.2 使用享元 120
5.6.3 行業案例 123
5.7 代理模式 128
5.7.1 模式定義 128
5.7.2 使用代理 130
5.7.3 行業案例 132
5.8 總結 135
5.9 習題 136
第6章 GoF行為型模式 138
6.1 責任鏈模式 138
6.1.1 模式定義 138
6.1.2 使用責任鏈 140
6.1.3 行業案例 143
6.2 命令模式 146
6.2.1 模式定義 146
6.2.2 使用命令 148
6.2.3 行業案例 152
6.3 解釋器模式 155
6.3.1 模式定義 155
6.3.2 使用解釋器 157
6.3.3 行業案例 160
6.4 迭代器模式 166
6.4.1 模式定義 166
6.4.2 使用迭代器 168
6.4.3 行業案例 172
6.5 仲裁者模式 175
6.5.1 模式定義 175
6.5.2 使用仲裁者 178
6.5.3 行業案例 180
6.6 備忘錄模式 184
6.6.1 模式定義 184
6.6.2 使用備忘錄 185
6.6.3 行業案例 188
6.7 觀察者模式 195
6.7.1 模式定義 195
6.7.2 使用觀察者 196
6.7.3 行業案例 199
6.8 狀態模式 204
6.8.1 模式定義 204
6.8.2 使用狀態 206
6.8.3 行業案例 208
6.9 策略模式 215
6.9.1 模式定義 215
6.9.2 使用策略 216
6.9.3 行業案例 219
6.10 模板方法模式 225
6.10.1 模式定義 225
6.10.2 使用模板方法 227
6.10.3 行業案例 229
6.11 訪問者模式 234
6.11.1 模式定義 234
6.11.2 使用訪問者 236
6.11.3 行業案例 240
6.12 總結 244
6.13 習題 246
附 錄 COS需求 248
1 引言 248
1.1 系統背景 248
1.2 用戶 248
1.3 假設和相關性 248
2 COS功能需求 249
2.1 點餐 249
2.2 套餐預訂 250
2.3 注冊支付信息 251
2.4 請求配送 251
2.5 創建、查看、修改、刪除食堂菜單和菜品 252
3 數據需求 253
4 接口需求 253
4.1 用戶接口 253
4.2 硬件接口 253
4.3 軟件接口 253
4.4 通信接口 254
5 非功能性需求 254
5.1 性能需求 254
5.2 安全需求 254
5.3 軟件質量屬性 254
5.4 國際化 254
參考文獻 255