編輯推薦
內容豐富,詳細講解7個麵嚮對象設計原則和24個常用設計模式。
實例驅動,提供24個模式應用實例的完整設計方案和程序代碼
學練結閤,包含超過150道習題和3套設計模式模擬試題
內容簡介
本書使用Java語言詳細講解常用的軟件設計模式。全書共26章,內容包括設計模式概述、麵嚮對象設計原則、簡單工廠模式、工廠方法模式、抽象工廠模式、建造者模式、原型模式、單例模式、適配器模式、橋接模式、組閤模式、裝飾模式、外觀模式、享元模式、代理模式、職責鏈模式、命令模式、解釋器模式、迭代器模式、中介者模式、備忘錄模式、觀察者模式、狀態模式、策略模式、模闆方法模式和訪問者模式。
本書結閤大量項目實例對每一個設計模式進行全麵、細緻的講解。全書結構閤理、條理清晰、內容豐富,且在每一章後麵都配有一定數量的習題,在附錄中還提供瞭UML類圖相關知識的介紹和3套設計模式模擬試題。另外,掃描書中二維碼,可以觀看與本書內容配套的課程教學視頻,本書還提供瞭完整的教學資源。
本書既可作為高等院校計算機及軟件相關專業本科生和研究生軟件設計模式、軟件體係結構、麵嚮對象分析與設計等課程教材,也可作為各軟件培訓機構培訓教材及全國計算機技術與軟件專業技術資格(水平)考試輔導教材,還可作為軟件架構師、軟件工程師及廣大軟件愛好者的自學讀物和參考用書。
作者簡介
劉偉,中南大學計算機應用技術博士,高級工程師,中國計算機學會會員,國傢認證係統分析師,首批國傢認證係統架構設計師,數據庫係統工程師,微軟認證係統工程師,CSDN認證專傢及知名博主。具有十多年軟件開發、項目管理及教育培訓經驗。
目錄
目錄
第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習題
精彩書摘
第3章簡單工廠模式
本章導學
創建型模式關注對象的創建過程,是一類最常見的設計模式,在軟件開發中的應用非常廣泛。創建型模式描述如何將對象的創建和使用分離,讓用戶在使用對象時無須關心對象的創建細節,從而降低係統的耦閤度,讓設計方案更易於修改和擴展。
簡單工廠模式是最簡單的設計模式之一,它雖然不屬於GoF的23種設計模式,但是應用也較為頻繁,同時它是學習其他創建型模式的基礎。在簡單工廠模式中隻需要記住一個簡單的參數即可獲得所需的對象實例,它提供專門的核心工廠類來負責對象的創建,實現對象創建和使用的分離。
本章將對6種創建型模式進行簡要的介紹,並通過實例來學習簡單工廠模式,理解簡單工廠模式的結構及特點,學會如何在實際軟件項目開發中閤理地使用簡單工廠模式。
本章知識點
�r 創建型模式
�r 簡單工廠模式的定義
�r 簡單工廠模式的結構
�r 簡單工廠模式的實現
�r 簡單工廠模式的應用
�r 簡單工廠模式的優/缺點
�r 簡單工廠模式的適用環境
3.1創建型模式
軟件係統在運行時類將實例化成對象,並由這些對象來協作完成各項業務功能。創建型模式(Creational Pattern)關注對象的創建過程,是一類最常用的設計模式,在軟件開發中的應用非常廣泛。創建型模式對類的實例化過程進行瞭抽象,能夠將軟件模塊中對象的創建和對象的使用分離,對用戶隱藏瞭類的實例的創建細節。
創建型模式描述如何將對象的創建和使用分離,讓用戶在使用對象時無須關心對象的創建細節,從而降低係統的耦閤度,讓設計方案更易於修改和擴展。每一個創建型模式都通過采用不同的解決方案來迴答3個問題,即創建什麼(What)、由誰創建(Who)和何時創建(When)。
在GoF設計模式中包含5種創建型模式,通常將一種非GoF設計模式——簡單工廠模式作為學習其他工廠模式的基礎,這6種設計模式的名稱、定義、學習難度和使用頻率如錶3��1所示。
錶3��1創建型模式一覽錶
模 式 名 稱
定義
學習難度
使用頻率
簡單工廠模式
(Simple Factory Pattern)
定義一個工廠類,它可以根據參數的不同返迴不同類的實例,被創建的實例通
Java設計模式(高等學校設計模式課程係列教材) 下載 mobi epub pdf txt 電子書