Java設計模式及應用案例(第2版)
內容描述
本書共 23 章。內容涵蓋了模式設計的六大法則:單一職責原則、里氏代換原則、開放封閉原則、依賴倒轉原則、合成/聚合復用原則、迪米特法則。介紹了Java反射技術在模式中的重要作用。介紹了23種常用模式:接口與抽象類模式,工廠方法模式、抽象工廠模式、構造者模式、橋接模式、裝飾模式、代理模式、狀態模式、觀察者模式、中介者模式等,以及這些模式的綜合運用。
目錄大綱
第1章設計模式概述1
1.1設計模式簡介2
1.2預備知識2
1.2.1接口和抽像類2
1.2.2反射4
模式實踐練習10
第2章單例模式11
2.1問題的提出12
2.2單例模式12
2.3單例模式的實現方式12
2.4應用示例14
模式實踐練習20
第3章工廠模式21
3.1關鍵角色22
3.2簡單工廠23
3.2.1代碼示例23
3.2.2代碼分析24
3.2.3語義分析24
3.3工廠25
3.3.1代碼示例25
3.3.2代碼分析26
3.4抽象工廠27
3.4.1代碼示例28
3.4.2代碼分析29
3.4.3典型模型語義分析29
3.4.4其他情況29
3.5應用示例32
3.6自動選擇工廠37
模式實踐練習38
第4章生成器模式39
4.1問題的提出40
4.2生成器模式41
4.3深入理解生成器模式44
4.4應用示例46
模式實踐練習58
第5章原型模式59
5.1問題的提出60
5.2原型模式60
5.3原型複制具體實現方法61
5.3.1利用構造函數方法61
5.3.2利用Cloneable接口方法63
5.3.3利用Serializable序列化接口方法65
5.4應用示例67
模式實踐練習69
第6章責任鏈模式70
6.1問題的提出71
6.2責任鏈設計模式71
6.3反射的作用73
6.4回調技術75
模式實踐練習79
第7章命令模式80
7.1問題的提出81
7.2命令模式81
7.3深入理解命令模式83
7.3.1命令集管理83
7.3.2加深命令接口定義的理解85
7.3.3命令模式與JDK事件處理86
7.3.4命令模式與多線程90
7.4應用示例92
模式實踐練習99
第8章迭代器模式100
8.1問題的提出101
8.2迭代器模式103
8.3應用示例104
模式實踐練習109
第9章訪問者模式110
9.1問題的提出111
9.2訪問者模式111
9.3深入理解訪問者模式113
9.4應用示例119
模式實踐練習128
第10章中介者模式129
10.1問題的提出130
10.2中介者模式130
10.3應用示例133
模式實踐練習139
第11章備忘錄模式140
11.1問題的提出141
11.2備忘錄設計模式143
11.3應用示例146
模式實踐練習151
第12章觀察者模式152
12.1問題的提出153
12.2觀察者模式153
12.3深入理解觀察者模式155
12.4 JDK中的觀察者設計模式160
12.5應用示例163
模式實踐練習172
第13章狀態模式173
13.1問題的提出174
13.2狀態模式174
13.3深入理解狀態模式175
13.4應用示例180
模式實踐練習191
第14章策略模式192
14.1問題的提出193
14.2策略模式193
14.3深入理解Context 195
14.4應用示例198
模式實踐練習202
第15章模板方法模式203
15.1問題的提出204
15.2方法模板204
15.2.1自定義方法模板204
15.2.2 JDK方法模板206
15.3流程模板208
15.4應用示例210
模式實踐練習213
第16章解釋器模式214
16.1問題的提出215
16.2解釋器模式215
16.2.1文法規則和抽象語法樹215
16.2.2解釋器模式216
16.3應用示例220
模式實踐練習224
第17章享元模式225
17.1問題的提出226
17.2享元模式226
17.3系統中的享元模式232
模式實踐練習234
第18章適配器模式235
18.1問題的提出236
18.2適配器模式236
18.2.1對象適配器236
18.2.2類適配器238
18.3默認適配器238
18.4應用示例240
模式實踐練習244
第19章組合模式246
19.1問題的提出247
19.2組合模式248
19.3深入理解組合模式250
19.3.1其他常用操作250
19.3.2節點排序252
19.4應用示例252
模式實踐練習264
第20章代理模式265
20.1模式簡介266
20.2虛擬代理267
20.3遠程代理272
20.3.1 RMI通信272
20.3.2 RMI代理模擬275
20.4計數代理277
20.4.1動態代理的成因279
20.4.2自定義動態代理279
20.4.3 JDK動態代理282
模式實踐練習284
第21章橋接模式285
21.1問題的提出286
21.2橋接模式286
21.3深入理解橋接模式289
21.4應用示例292
模式實踐練習301
第22章裝飾器模式302
22.1問題的提出303
22.2裝飾器模式303
22.3深入理解裝飾器模式305
22.3.1具體構件角色的重要性305
22.3.2 JDK中的裝飾器模式306
22.4應用示例309
模式實踐練習320
第23章外觀模式321
23.1問題的提出322
23.2外觀模式322
23.3應用示例323
模式實踐練習329
參考文獻330
作者介紹
金百東,碩士,副教授,遼寧師範大學計算機與信息技術學院教師。
主編《Java web編程技術實用教程》、《C++STL基礎及應用》、《Java程序設計》、《Java程序設計實驗指導》、《Java設計模式深入研究》等教材。其中《C++STL基礎及應用》2014年獲第2批普通高等教育十二五國家級規劃教材。多次獲得藍橋杯全國軟件和信息技術專業人才大賽及遼寧省大學生ACM競賽優秀指導教師。研究興趣集中在物聯網信息處理、設計模式及STL應用。
在計算機應用與軟件、微型機與應用、自動化技術與應用等期刊發表論文18餘篇。