《java設計模式》是2018年清華大學出版社出版的圖書,作者是劉偉,本書使用Java語言詳細講解常用的軟體設計模式,本書可作為高等院校計算機及軟體相關專業本科生和研究生軟體設計模式、軟體體系結構、面向對象分析與設計等課程教材。
基本介紹
- 書名:java設計模式
- 作者:劉偉
- 出版社:清華大學出版社
- ISBN:9787302488316
內容簡介,圖書目錄,作者簡介,
內容簡介
本書使用Java語言詳細講解常用的軟體設計模式。全書共26章,內容包括設計模式概述、面向對象設計原則、簡單工廠模式、工廠方法模式、抽象工廠模式、建造者模式、原型模式、單例模式、適配器模式、橋接模式、組合模式、裝飾模式、外觀模式、享元模式、代理模式、職責鏈模式、命令模式、解釋器模式、疊代器模式、中介者模式、備忘錄模式、觀察者模式、狀態模式、策略模式、模板方法模式和訪問者模式。 本書結合大量項目實例對每一個設計模式進行全面、細緻的講解。全書結構合理、條理清晰、內容豐富,且在每一章後面都配有一定數量的習題,在附錄中還提供了UML類圖相關知識的介紹和3套設計模式模擬試題。另外,掃描書中二維碼,可以觀看與本書內容配套的課程教學視頻,本書還提供了完整的教學資源。 本書既可作為高等院校計算機及軟體相關專業本科生和研究生軟體設計模式、軟體體系結構、面向對象分析與設計等課程教材,也可作為各軟體培訓機構培訓教材及全國計算機技術與軟體專業技術資格(水平)考試輔導教材,還可作為軟體架構師、軟體工程師及廣大軟體愛好者的自學讀物和參考用書。
圖書目錄
目錄
第1章設計模式概述
1.1設計模式的誕生與發展
1.1.1模式的誕生與定義
1.1.2軟體模式概述
1.1.3設計模式的發展
1.2設計模式的定義與分類
1.2.1設計模式的定義
1.2.2設計模式的基本要素
1.2.3設計模式的分類
1.3GoF設計模式簡介
1.4設計模式的優點
1.5本章小結
1.6習題
第2章面向對象設計原則
2.1面向對象設計原則概述
2.2單一職責原則
2.3開閉原則
2.4里氏代換原則
2.5依賴倒轉原則
2.6接口隔離原則
2.7合成復用原則
2.8迪米特法則
2.9本章小結
2.10習題
第3章簡單工廠模式
3.1創建型模式
3.2簡單工廠模式概述
3.3簡單工廠模式結構與實現
3.3.1簡單工廠模式結構
3.3.2簡單工廠模式實現
3.4簡單工廠模式套用實例
3.5關於創建對象與使用對象
3.6簡單工廠模式的簡化
3.7簡單工廠模式優/缺點與適用環境
3.7.1簡單工廠模式優點
3.7.2簡單工廠模式缺點
3.7.3簡單工廠模式適用環境
3.8本章小結
3.9習題
第4章工廠方法模式
4.1工廠方法模式概述
4.2工廠方法模式結構與實現
4.2.1工廠方法模式結構
4.2.2工廠方法模式實現
4.3工廠方法模式套用實例
4.4反射機制與配置檔案
4.5工廠方法的重載
4.6工廠方法的隱藏
4.7工廠方法模式優/缺點與適用環境
4.7.1工廠方法模式優點
4.7.2工廠方法模式缺點
4.7.3工廠方法模式適用環境
4.8本章小結
4.9習題
第5章抽象工廠模式
5.1產品等級結構與產品族
5.2抽象工廠模式概述
5.3抽象工廠模式結構與實現
5.3.1抽象工廠模式結構
5.3.2抽象工廠模式實現
5.4抽象工廠模式套用實例
5.5開閉原則的傾斜性
5.6抽象工廠模式優/缺點與適用環境
5.6.1抽象工廠模式優點
5.6.2抽象工廠模式缺點
5.6.3抽象工廠模式適用環境
5.7本章小結
5.8習題
第6章建造者模式
6.1建造者模式概述
6.2建造者模式結構與實現
6.2.1建造者模式結構
6.2.2建造者模式實現
6.3建造者模式套用實例
6.4指揮者類的深入討論
6.5建造者模式優/缺點與適用環境
6.5.1建造者模式優點
6.5.2建造者模式缺點
6.5.3建造者模式適用環境
6.6本章小結
6.7習題
第7章原型模式
7.1原型模式概述
7.2原型模式結構與實現
7.2.1原型模式結構
7.2.2淺克隆與深克隆
7.2.3原型模式實現
7.3原型模式套用實例
7.4原型管理器
7.5原型模式優/缺點與適用環境
7.5.1原型模式優點
7.5.2原型模式缺點
7.5.3原型模式適用環境
7.6本章小結
7.7習題
第8章單例模式
8.1單例模式概述
8.2單例模式結構與實現
8.2.1單例模式結構
8.2.2單例模式實現
8.3單例模式套用實例
8.4餓漢式單例與懶漢式單例
8.5單例模式優/缺點與適用環境
8.5.1單例模式優點
8.5.2單例模式缺點
8.5.3單例模式適用環境
8.6本章小結
8.7習題
第9章適配器模式
9.1結構型模式
9.2適配器模式概述
9.3適配器模式結構與實現
9.3.1適配器模式結構
9.3.2適配器模式實現
9.4適配器模式套用實例
9.5預設適配器模式
9.6雙向適配器
9.7適配器模式優/缺點與適用環境
9.7.1適配器模式優點
9.7.2適配器模式缺點
9.7.3適配器模式適用環境
9.8本章小結
9.9習題
第10章橋接模式
10.1橋接模式概述
10.2橋接模式結構與實現
10.2.1橋接模式結構
10.2.2橋接模式實現
10.3橋接模式套用實例
10.4橋接模式與適配器模式的聯用
10.5橋接模式優/缺點與適用環境
10.5.1橋接模式優點
10.5.2橋接模式缺點
10.5.3橋接模式適用環境
10.6本章小結
10.7習題
第11章組合模式
11.1組合模式概述
11.2組合模式結構與實現
11.2.1組合模式結構
11.2.2組合模式實現
11.3組合模式套用實例
11.4透明組合模式與安全組合模式
11.5組合模式優/缺點與適用環境
11.5.1組合模式優點
11.5.2組合模式缺點
11.5.3組合模式適用環境
11.6本章小結
11.7習題
第12章裝飾模式
12.1裝飾模式概述
12.2裝飾模式結構與實現
12.2.1裝飾模式結構
12.2.2裝飾模式實現
12.3裝飾模式套用實例
12.4透明裝飾模式與半透明裝飾模式
12.5裝飾模式優/缺點與適用環境
12.5.1裝飾模式優點
12.5.2裝飾模式缺點
12.5.3裝飾模式適用環境
12.6本章小結
12.7習題
第13章外觀模式
13.1外觀模式概述
13.2外觀模式結構與實現
13.2.1外觀模式結構
13.2.2外觀模式實現
13.3外觀模式套用實例
13.4抽象外觀類
13.5外觀模式優/缺點與適用環境
13.5.1外觀模式優點
13.5.2外觀模式缺點
13.5.3外觀模式適用環境
13.6本章小結
13.7習題
第14章享元模式
14.1享元模式概述
14.2享元模式結構與實現
14.2.1享元模式結構
14.2.2享元模式實現
14.3享元模式套用實例
14.4有外部狀態的享元模式
14.5單純享元模式與複合享元模式
14.6享元模式與String類
14.7享元模式優/缺點與適用環境
14.7.1享元模式優點
14.7.2享元模式缺點
14.7.3享元模式適用環境
14.8本章小結
14.9習題
第15章代理模式
15.1代理模式概述
15.2代理模式結構與實現
15.2.1代理模式結構
15.2.2代理模式實現
15.3代理模式套用實例
15.4遠程代理
15.5虛擬代理
15.6Java動態代理
15.7代理模式優/缺點與適用環境
15.7.1代理模式優點
15.7.2代理模式缺點
15.7.3代理模式適用環境
15.8本章小結
15.9習題
第16章職責鏈模式
16.1行為型模式
16.2職責鏈模式概述
16.3職責鏈模式結構與實現
16.3.1職責鏈模式結構
16.3.2職責鏈模式實現
16.4職責鏈模式套用實例
16.5純與不純的職責鏈模式
16.6職責鏈模式優/缺點與適用環境
16.6.1職責鏈模式優點
16.6.2職責鏈模式缺點
16.6.3職責鏈模式適用環境
16.7本章小結
16.8習題
第17章命令模式
17.1命令模式概述
17.2命令模式結構與實現
17.2.1命令模式結構
17.2.2命令模式實現
17.3命令模式套用實例
17.4實現命令佇列
17.5記錄請求日誌
17.6實現撤銷操作
17.7宏命令
17.8命令模式優/缺點與適用環境
17.8.1命令模式優點
17.8.2命令模式缺點
17.8.3命令模式適用環境
17.9本章小結
17.10習題
第18章解釋器模式
18.1解釋器模式概述
18.2文法規則和抽象語法樹
18.3解釋器模式結構與實現
18.3.1解釋器模式結構
18.3.2解釋器模式實現
18.4解釋器模式套用實例
18.5解釋器模式優/缺點與適用環境
18.5.1解釋器模式優點
18.5.2解釋器模式缺點
18.5.3解釋器模式適用環境
18.6本章小結
18.7習題
第19章疊代器模式
19.1疊代器模式概述
19.2疊代器模式結構與實現
19.2.1疊代器模式結構
19.2.2疊代器模式實現
19.3疊代器模式套用實例
19.4使用內部類實現疊代器
19.5Java內置疊代器
19.6疊代器模式優/缺點與適用環境
19.6.1疊代器模式優點
19.6.2疊代器模式缺點
19.6.3疊代器模式適用環境
19.7本章小結
19.8習題
第20章中介者模式
20.1中介者模式概述
20.2中介者模式結構與實現
20.2.1中介者模式結構
20.2.2中介者模式實現
20.3中介者模式套用實例
20.4擴展中介者與同事類
20.5中介者模式優/缺點與適用環境
20.5.1中介者模式優點
20.5.2中介者模式缺點
20.5.3中介者模式適用環境
20.6本章小結
20.7習題
第21章備忘錄模式
21.1備忘錄模式概述
21.2備忘錄模式結構與實現
21.2.1備忘錄模式結構
21.2.2備忘錄模式實現
21.3備忘錄模式套用實例
21.4實現多次撤銷
21.5備忘錄模式優/缺點與適用環境
21.5.1備忘錄模式優點
21.5.2備忘錄模式缺點
21.5.3備忘錄模式適用環境
21.6本章小結
21.7習題
第22章觀察者模式
22.1觀察者模式概述
22.2觀察者模式結構與實現
22.2.1觀察者模式結構
22.2.2觀察者模式實現
22.3觀察者模式套用實例
22.4JDK對觀察者模式的支持
22.5觀察者模式與Java事件處理
22.6觀察者模式與MVC
22.7觀察者模式優/缺點與適用環境
22.7.1觀察者模式優點
22.7.2觀察者模式缺點
22.7.3觀察者模式適用環境
22.8本章小結
22.9習題
第23章狀態模式
23.1狀態模式概述
23.2狀態模式結構與實現
23.2.1狀態模式結構
23.2.2狀態模式實現
23.3狀態模式套用實例
23.4共享狀態
23.5使用環境類實現狀態轉換
23.6狀態模式優/缺點與適用環境
23.6.1狀態模式優點
23.6.2狀態模式缺點
23.6.3狀態模式適用環境
23.7本章小結
23.8習題
第24章策略模式
24.1策略模式概述
24.2策略模式結構與實現
24.2.1策略模式結構
24.2.2策略模式實現
24.3策略模式套用實例
24.4Java SE中的布局管理
24.5策略模式優/缺點與適用環境
24.5.1策略模式優點
24.5.2策略模式缺點
24.5.3策略模式適用環境
24.6本章小結
24.7習題
第25章模板方法模式
25.1模板方法模式概述
25.2模板方法模式結構與實現
25.2.1模板方法模式結構
25.2.2模板方法模式實現
25.3模板方法模式套用實例
25.4鉤子方法的使用
25.5模板方法模式優/缺點與適用環境
25.5.1模板方法模式優點
25.5.2模板方法模式缺點
25.5.3模板方法模式適用環境
25.6本章小結
25.7習題
第26章訪問者模式
26.1訪問者模式概述
26.2訪問者模式結構與實現
26.2.1訪問者模式結構
26.2.2訪問者模式實現
26.3訪問者模式套用實例
26.4訪問者模式與組合模式聯用
26.5訪問者模式優/缺點與適用環境
26.5.1訪問者模式優點
26.5.2訪問者模式缺點
26.5.3訪問者模式適用環境
26.6本章小結
26.7習題
附錄AUML類圖
A.1UML概述
A.2類與類的UML表示
A.3類之間的關係
附錄B設計模式模擬試題
B.1模擬試題一
B.2模擬試題二
B.3模擬試題三
參考文獻
作者簡介
劉偉,中南大學計算機套用技術博士,高級工程師,中國計算機學會會員,國家認證系統分析師,首批國家認證系統架構設計師,資料庫系統工程師,微軟認證系統工程師,CSDN認證專家及知名博主。具有十多年軟體開發、項目管理及教育培訓經驗。