本書分為4個部分,共26章:第1部分(第1章-第2章)為基礎(chǔ)知識,包括設(shè)計模式概述、UML類圖和面向?qū)ο笤O(shè)計原則等內(nèi)容;第2部分(第3章-第8章)為創(chuàng)建的藝術(shù),包括6種常用的創(chuàng)建型設(shè)計模式;第3部分(第9章-第15章)為組合的藝術(shù),包括7種常用的結(jié)構(gòu)型設(shè)計模式;第4部分(第16章-第26章)為交互的藝術(shù),包括11種常用的行為型設(shè)計模式。
本書可作為一線軟件開發(fā)人員、高等院校計算機(jī)及軟件等相關(guān)專業(yè)師生、IT培訓(xùn)機(jī)構(gòu)講師和學(xué)員、設(shè)計模式研究人員和模式愛好者的參考用書和自學(xué)讀物。
劉偉,中南大學(xué)計算機(jī)應(yīng)用技術(shù)博士,高#級工程師,中國計算機(jī)學(xué)會會員,美國計算機(jī)學(xué)會會員,國家認(rèn)證系統(tǒng)分析師,首批國家認(rèn)證系統(tǒng)架構(gòu)設(shè)計師,CSDN認(rèn)證專家及知名博主。具有十多年軟件開發(fā)、項(xiàng)目管理及教育培訓(xùn)經(jīng)驗(yàn),為多家國內(nèi)外知名企業(yè)提供IT咨詢和培訓(xùn)服務(wù),已出版《設(shè)計模式》、《設(shè)計模式實(shí)訓(xùn)教程》、《C#設(shè)計模式》、《Java設(shè)計模式》、《設(shè)計模式實(shí)驗(yàn)及習(xí)題解析》等多部著作。
配套資源下載
第1部分 基 礎(chǔ) 知 識
第1章 從招式與內(nèi)功談起——設(shè)計模式概述
1.1 設(shè)計模式從何而來
1.2 設(shè)計模式是什么
1.3 設(shè)計模式有什么用
1.4 個人觀點(diǎn)
第2章 預(yù)備知識——UML類圖與面向?qū)ο笤O(shè)計原則
2.1 UML概述
2.2 類與類的UML圖示
2.3 類之間的關(guān)系
2.4 面向?qū)ο笤O(shè)計原則概述
2.5 單一職責(zé)原則
2.6 開閉原則
2.7 里氏代換原則
2.8 依賴倒轉(zhuǎn)原則
2.9 接口隔離原則
2.1 0合成復(fù)用原則
2.1 1迪米特法則
第2部分 創(chuàng)建的藝術(shù)——創(chuàng)建型模式
第3章 確保對象的唯#一性——單例模式
3.1 單例模式的動機(jī)
3.2 單例模式概述
3.3 負(fù)載均衡器的設(shè)計
3.4 餓漢式單例與懶漢式單例的討論
3.5 一種更好的單例實(shí)現(xiàn)方法
3.6 單例模式總結(jié)
第4章 集中式工廠的實(shí)現(xiàn)——簡單工廠模式
4.1 圖表庫的設(shè)計
4.2 簡單工廠模式概述
4.3 完整解決方案
4.4 方案的改進(jìn)
4.5 創(chuàng)建對象與使用對象
4.6 簡單工廠模式的簡化
4.7 簡單工廠模式總結(jié)
第5章 多態(tài)工廠的實(shí)現(xiàn)——工廠方法模式
5.1 日志記錄器的設(shè)計
5.2 工廠方法模式概述
5.3 完整解決方案
5.4 反射與配置文件
5.5 重載的工廠方法
5.6 工廠方法的隱藏
5.7 工廠方法模式總結(jié)
第6章 產(chǎn)品族的創(chuàng)建——抽象工廠模式
6.1 界面皮膚庫的初始設(shè)計
6.2 產(chǎn)品等級結(jié)構(gòu)與產(chǎn)品族
6.3 抽象工廠模式概述
6.4 完整解決方案
6.5 開閉原則的傾斜性
6.6 抽象工廠模式總結(jié)
第7章 對象的克隆——原型模式
7.1 大同小異的工作周報
7.2 原型模式概述
7.3 完整解決方案
7.4 帶附件的周報
7.5 原型管理器的引入和實(shí)現(xiàn)
7.6 原型模式總結(jié)
第8章 復(fù)雜對象的組裝與創(chuàng)建——建造者模式
8.1 游戲角色設(shè)計
8.2 建造者模式概述
8.3 完整解決方案
8.4 關(guān)于Director的進(jìn)一步討論
8.5 建造者模式總結(jié)
第3部分 組合的藝術(shù)——結(jié)構(gòu)型模式
第9章 不兼容結(jié)構(gòu)的協(xié)調(diào)——適配器模式
9.1 沒有源碼的算法庫
9.2 適配器模式概述
9.3 完整解決方案
9.4 類適配器模式
9.5 雙向適配器模式
9.6 缺省適配器模式
9.7 適配器模式總結(jié)
第10章 處理多維度變化——橋接模式
10.1 跨ping臺圖像瀏覽系統(tǒng)
10.2 橋接模式概述
10.3 完整解決方案
10.4 適配器模式與橋接模式的聯(lián)用
10.5 橋接模式總結(jié)
第11章 樹形結(jié)構(gòu)的處理——組合模式
11.1 設(shè)計殺毒軟件的框架結(jié)構(gòu)
11.2 組合模式概述
11.3 完整解決方案
11.4 透明組合模式與安全組合模式
11.5 Sunny公司組織結(jié)構(gòu)
11.6 組合模式總結(jié)
第12章 擴(kuò)展系統(tǒng)功能——裝飾模式
12.1 圖形界面構(gòu)件庫的設(shè)計
12.2 裝飾模式概述
12.3 完整解決方案
12.4 透明裝飾模式與半透明裝飾模式
12.5 裝飾模式注意事項(xiàng)
12.6 裝飾模式總結(jié)
第13章 提供統(tǒng)一入口——外觀模式
13.1 文件加密模塊的設(shè)計
13.2 外觀模式概述
13.3 完整解決方案
13.4 抽象外觀類的引入
13.5 外觀角色設(shè)計補(bǔ)充說明
13.6 外觀模式總結(jié)
第14章 實(shí)現(xiàn)對象的復(fù)用——享元模式
14.1 圍棋棋子的設(shè)計
14.2 享元模式概述
14.3 完整解決方案
14.4 帶外部狀態(tài)的解決方案
14.5 單純享元模式和復(fù)合享元模式
14.6 關(guān)于享元模式的幾點(diǎn)補(bǔ)充
14.7 享元模式總結(jié)
第15章 對象的間接訪問——代理模式
15.1 收費(fèi)商務(wù)信息查詢系統(tǒng)的設(shè)計
15.2 代理模式概述
15.3 完整解決方案
15.4 遠(yuǎn)程代理
15.5 虛擬代理
15.6 Java動態(tài)代理
15.7 代理模式總結(jié)
第4部分 交互的藝術(shù)——行為型模式
第16章 請求的鏈?zhǔn)教幚怼氊?zé)鏈模式
16.1 采購單的分級審批
16.2 職責(zé)鏈模式概述
16.3 完整解決方案
16.4 純與不純的職責(zé)鏈模式
16.5 職責(zé)鏈模式總結(jié)
第17章 請求發(fā)送者與接收者解耦——命令模式
17.1 自定義功能鍵
17.2 命令模式概述
17.3 完整解決方案
17.4 命令隊列的實(shí)現(xiàn)
17.5 撤銷操作的實(shí)現(xiàn)
17.6 請求日志
17.7 宏命令
17.8 命令模式總結(jié)
第18章 自定義語言的實(shí)現(xiàn)——解釋器模式
18.1 機(jī)器人控制程序
18.2 文法規(guī)則和抽象語法樹
18.3 解釋器模式概述
18.4 完整解決方案
18.5 再談Context的作用
18.6 解釋器模式總結(jié)
第19章 遍歷聚合對象中的元素——迭代器模式
19.1 銷售管理系統(tǒng)中數(shù)據(jù)的遍歷
19.2 迭代器模式概述
19.3 完整解決方案
19.4 使用內(nèi)部類實(shí)現(xiàn)迭代器
19.5 JDK內(nèi)置迭代器
19.6 迭代器模式總結(jié)
第20章 協(xié)調(diào)多個對象之間的交互——中介者模式
20.1 客戶信息管理窗口的初始設(shè)計
20.2 中介者模式概述
20.3 完整解決方案
20.4 中介者與同事類的擴(kuò)展
20.5 中介者模式總結(jié)
第21章 撤銷功能的實(shí)現(xiàn)——備忘錄模式
21.1 可悔棋的中國象棋
21.2 備忘錄模式概述
21.3 完整解決方案
21.4 實(shí)現(xiàn)多次撤銷
21.5 再談備忘錄的封裝
21.6 備忘錄模式總結(jié)
第22章 對象間的聯(lián)動——觀察者模式
22.1 多人聯(lián)機(jī)對戰(zhàn)游戲的設(shè)計
22.2 觀察者模式概述
22.3 完整解決方案
22.4 JDK對觀察者模式的支持
22.5 觀察者模式與Java事件處理
22.6 觀察者模式與MVC
22.7 觀察者模式總結(jié)
第23章 對象狀態(tài)及其轉(zhuǎn)換——狀態(tài)模式
23.1 銀行系統(tǒng)中的賬戶類設(shè)計
23.2 狀態(tài)模式概述
23.3 完整解決方案
23.4 共享狀態(tài)
23.5 使用環(huán)境類實(shí)現(xiàn)狀態(tài)轉(zhuǎn)換
23.6 狀態(tài)模式總結(jié)
第24章 算法的封裝與切換——策略模式
24.1 電影票打折方案
24.2 策略模式概述
24.3 完整解決方案
24.4 策略模式的兩個典型應(yīng)用
24.5 策略模式總結(jié)
第25章 定義算法的框架——模板方法模式
25.1 銀行利息計算模塊
25.2 模板方法模式概述
25.3 完整解決方案
25.4 鉤子方法的使用
25.5 模板方法模式總結(jié)
第26章 操作復(fù)雜對象結(jié)構(gòu)——訪問者模式
26.1 OA系統(tǒng)中員工數(shù)據(jù)匯總
26.2 訪問者模式概述
26.3 完整解決方案
26.4 訪問者模式與組合模式聯(lián)用
26.5 訪問者模式總結(jié)
附錄A 常用設(shè)計模式的定義及結(jié)構(gòu)圖
A.1 創(chuàng)建型設(shè)計模式
A.2 結(jié)構(gòu)型設(shè)計模式
A.3 行為型設(shè)計模式
參考文獻(xiàn)