設計模式, 2/e
內容描述
本書系統介紹了設計模式。全書共分27章,內容包括統一建模語言基礎知識、面向對象設計原則、設計模式概述、簡單工廠模式、工廠方法模式、抽象工廠模式、建造者模式、原型模式、單例模式、適配器模式、橋接模式、組合模式、裝飾模式、外觀模式、享元模式、代理模式、職責鏈模式、命令模式、解釋器模式、迭代器模式、中介者模式、備忘錄模式、觀察者模式、狀態模式、策略模式、模板方法模式和訪問者模式。
本書結合大量實例介紹GoF設計模式,針對每個設計模式均提供了一或兩個實例,並對每個模式進行了詳盡的講解,每章最後均配有一定量的習題。
本書既可作為高等院校計算機相關專業本科生和研究生“設計模式”“軟件體系結構”等課程教材,也可作為各軟件培訓機構的培訓教材及全國計算機技術與軟件專業技術資格(水平)考試的輔導教材,還可作為軟件架構師、軟件工程師等開發人員的參考用書
目錄大綱
目錄
第1章統一建模語言基礎知識
1.1UML簡介
1.1.1UML的誕生
1.1.2UML的結構
1.1.3UML的特點
1.2類圖
1.2.1類與類圖
1.2.2類之間的關係
1.2.3類圖實例
1.3順序圖
1.3.1順序圖定義
1.3.2順序圖組成元素與繪製
1.3.3順序圖實例
1.4狀態圖
1.4.1狀態圖定義
1.4.2狀態圖組成元素與繪製
1.4.3狀態圖實例
1.5本章小結
思考與練習
第2章面向對象設計原則
2.1面向對象設計原則概述
2.1.1軟件的可維護性和可複用性
2.1.2面向對象設計原則簡介
2.2單一職責原則
2.2.1單一職責原則定義
2.2.2單一職責原則分析
2.2.3單一職責原則實例
2.3開閉原則
2.3.1開閉原則定義
2.3.2開閉原則分析
2.3.3開閉原則實例
2.4里氏代換原則
2.4.1裡氏代換原則定義
2.4.2里氏代換原則分析
2.4.3里氏代換原則實例
2.5依賴倒轉原則
2.5.1依賴倒轉原則定義
2.5.2依賴倒轉原則分析
2.5.3依賴倒轉原則實例
2.6接口隔離原則
2.6.1接口隔離原則定義
2.6.2接口隔離原則分析
2.6.3接口隔離原則實例
2.7合成複用原則
2.7.1合成複用原則定義
2.7.2合成複用原則分析
2.7.3合成複用原則實例
2.8迪米特法則
2.8.1迪米特法則定義
2.8.2迪米特法則分析
2.8.3迪米特法則實例
2.9本章小結
思考與練習
第3章設計模式概述
3.1設計模式的誕生與發展
3.1.1模式的誕生與定義
3.1.2軟件模式
3.1 .3設計模式的發展
3.2設計模式的定義與分類
3.2.1設計模式的定義
3.2.2設計模式的基本要素
3.2.3設計模式的分類
3.3GoF設計模式簡介
3.4設計模式的優點
3.5本章小結
思考與練習
第4章簡單工廠模式
4.1創建型模式
4.1.1創建型模式概述
4.1.2創建型模式簡介
4.2簡單工廠模式動機與定義
4.2.1模式動機
4.2.2模式定義
4.3簡單工廠模式結構與分析
4.3.1模式結構
4.3.2模式分析
4.4簡單工廠模式實例與解析
4.4. 1簡單工廠模式實例之簡單電視機工廠
4.4.2簡單工廠模式實例之權限管理
4.5簡單工廠模式效果與應用
4.5.1模式優缺點
4.5.2模式適用環境
4.5.3模式應用
4.6簡單工廠模式擴展
4.7本章小結
思考與練習
第5章工廠方法模式
5.1工廠方法模式動機與定義
5.1.1簡單工廠模式的不足
5.1.2模式動機
5.1.3模式定義
5.2工廠方法模式結構與分析
5.2.1模式結構
5.2. 2模式分析
5.3工廠方法模式實例與解析
5.3.1工廠方法模式實例之電視機工廠
5.3.2工廠方法模式實例之日誌記錄器
5.4工廠方法模式效果與應用
5.4.1模式優缺點
5.4.2模式適用環境
5.4.3模式應用
5.5工廠方法模式擴展
5.6本章小結
思考與練習
第6章抽象工廠模式
6.1抽象工廠模式動機與定義
6.1.1模式動機
6.1.2模式定義
6.2抽象工廠模式結構與分析
6.2.1模式結構
6.2.2模式分析
6.3抽象工廠模式實例與解析
6.3.1抽象工廠模式實例之電器工廠
6.3.2抽象工廠模式實例之數據庫操作工廠
6.4抽象工廠模式效果與應用
6.4.1模式優缺點
6.4.2模式適用環境
6.4.3模式應用
6.5抽象工廠模式擴展
6.6本章小結
思考與練習
第7章建造者模式
7.1建造者模式動機與定義
7.1.1模式動機
7.1.2模式定義
7.2建造者模式結構與分析
7.2.1模式結構
7.2.2模式分析
7.3建造者模式實例與解析
7.4建造者模式效果與應用
7.4.1模式優缺點
7.4.2模式適用環境
7.4.3模式應用
7.5建造者模式擴展
7.6本章小結
思考與練習
第8章原型模式
8.1原型模式動機與定義
8.1.1模式動機
8.1.2模式定義
8.2原型模式結構與分析
8.2.1模式結構
8.2.2模式分析
8.3原型模式實例與解析
8.3.1原型模式實例之郵件複製(淺克隆)
8.3.2原型模式實例之郵件複製(深克隆)
8.4原型模式效果與應用
8.4.1模式優缺點
8.4.2模式適用環境
8.4.3模式應用
8.5原型模式擴展
8.6本章小結
思考與練習
第9章單例模式
9.1單例模式動機與定義
9.1.1模式動機
9.1 .2模式定義
9.2單例模式結構與分析
9.2.1模式結構
9.2.2模式分析
9.3單例模式實例與解析
9.3.1單例模式實例之身份證號碼
9.3.2單例模式實例之打印池
9.4單例模式效果與應用
9.4.1模式優缺點
9.4.2模式適用環境
9.4.3模式應用
9.5單例模式擴展
9.6本章小結
思考與練習
第10章適配器模式
10.1結構型模式
10.1.1結構型模式概述
10.1.2結構型模式簡介
10.2適配器模式動機與定義
10.2.1模式動機
10.2.2模式定義
10.3適配器模式結構與分析
10.3.1模式結構
10.3.2模式分析
10.4適配器模式實例與解析
10.4.1適配器模式實例之仿生機器人
10.4.2適配器模式實例之加密適配器
10.5適配器模式效果與應用
10.5.1模式優缺點
10.5.2模式適用環境
10.5.3模式應用
10.6適配器模式擴展
10.6.1缺省適配器模式
10.6.2雙向適配器
10.7本章小結
思考與練習
第11章橋接模式
11.1橋接模式動機與定義
11.1.1模式動機
11.1.2模式定義
11.2橋接模式結構與分析
11.2.1模式結構
11.2.2模式分析
11.3橋接模式實例與解析
11.3.1橋接模式實例之模擬毛筆
11.3.2橋接模式實例之跨平台視頻播放器
11.4橋接模式效果與應用
11.4.1模式優缺點
11.4.2模式適用環境
11.4.3模式應用
11.5橋接模式擴展
11.6本章小結
思考與練習
第12章組合模式
12.1組合模式動機與定義
12.1.1模式動機
12.1.2模式定義
12.2組合模式結構與分析
12.2.1模式結構
12.2.2模式分析
12.3組合模式實例與解析
12.3.1組合模式實例之水果盤
12.3.2組合模式實例之文件瀏覽
12.4組合模式效果與應用
12.4.1模式優缺點
12.4.2模式適用環境
12.4.3模式應用
12.5組合模式擴展
12.6本章小結
思考與練習
第13章裝飾模式
13.1裝飾模式動機與定義
13.1.1模式動機
13.1.2模式定義
13.2裝飾模式結構與分析
13.2.1模式結構
13.2.2模式分析
13.3裝飾模式實例與解析
13.3.1裝飾模式實例之變形金剛
13.3.2裝飾模式實例之多重加密系統
13.4裝飾模式效果與應用
13.4.1模式優缺點
13.4.2模式適用環境
13.4.3模式應用
13.5裝飾模式擴展
13.6本章小結
思考與練習
第14章外觀模式
14.1外觀模式動機與定義
14.1.1模式動機
14.1.2模式定義
14.2外觀模式結構與分析
14.2.1模式結構
14.2.2模式分析
14.3外觀模式實例與解析
14.3.1外觀模式實例之電源總開關
14.3.2外觀模式實例之文件加密
14.4外觀模式效果與應用
14.4.1模式優缺點
14.4.2模式適用環境
14.4.3模式應用
14.5外觀模式擴展
14.6本章小結
思考與練習
第15章享元模式
15.1享元模式動機與定義
15.1.1模式動機
15.1.2模式定義
15.2享元模式結構與分析
15.2.1模式結構
15.2.2模式分析
15.3享元模式實例與解析
15.3.1享元模式實例之共享網絡設備(無外部狀態)
15.3.2享元模式實例之共享網絡設備(有外部狀態)
15.4享元模式效果與應用
15.4.1模式優缺點
15.4.2模式適用環境
15.4.3模式應用
15.5享元模式擴展
15.6本章小結
思考與練習
第16章代理模式
16.1代理模式動機與定義
16.1.1模式動機
16.1.2模式定義
16.2代理模式結構與分析
16.2.1模式結構
16.2.2模式分析
16.3代理模式實例與解析
16.3.1代理模式實例之論壇權限控制代理
16.3.2代理模式實例之日誌記錄代理
16.4代理模式效果與應用
16.4.1模式優缺點
16.4.2模式適用環境
16.4.3模式應用
16.5代理模式擴展
16.6本章小結
思考與練習
第17章職責鏈模式
17.1行為型模式
17.1.1行為型模式概述
17.1.2行為型模式簡介
17.2職責鏈模式動機與定義
17.2.1模式動機
17.2.2模式定義
17.3職責鏈模式結構與分析
17.3.1模式結構
17.3.2模式分析
17.4職責鏈模式實例與解析
17.5職責鏈模式效果與應用
17.5.1模式優缺點
17.5.2模式適用環境
17.5.3模式應用
17.6職責鏈模式擴展
17.7本章小結
思考與練習
第18章命令模式
18.1命令模式動機與定義
18.1.1模式動機
18.1.2模式定義
18.2命令模式結構與分析
18.2.1模式結構
18.2.2模式分析
18.3命令模式實例與解析
18.3.1命令模式實例之電視機遙控器
18.3.2命令模式實例之功能鍵設置
18.4命令模式效果與應用
18.4.1模式優缺點
18.4.2模式適用環境
18.4.3模式應用
18.5命令模式擴展
18.6本章小結
思考與練習
第19章解釋器模式
19.1解釋器模式動機與定義
19.1 .1模式動機
19.1.2模式定義
19.2解釋器模式結構與分析
19.2.1模式結構
19.2.2模式分析
19.3解釋器模式實例與解析
19.4解釋器模式效果與應用
19.4.1模式優缺點
19.4.2模式適用環境
19.4.3模式應用
19.5解釋器模式擴展
19.6本章小結
思考與練習
第20章迭代器模式
20.1迭代器模式動機與定義
20.1.1模式動機
20.1.2模式定義
20.2迭代器模式結構與分析
20.2.1模式結構
20.2.2模式分析
20.3迭代器模式實例與解析
20.4迭代器模式效果與應用
20.4.1模式優缺點
20.4.2模式適用環境
20.4.3模式應用
20.5迭代器模式擴展
20.6本章小結
思考與練習
第21章中介者模式
21.1中介者模式動機與定義
21.1.1模式動機
21.1.2模式定義
21.2中介者模式結構與分析
21.2.1模式結構
21.2.2模式分析
21.3中介者模式實例與解析
21.4中介者模式效果與應用
21.4.1模式優缺點
21.4.2模式適用環境
21.4.3模式應用
21.5中介者模式擴展
21.6本章小結
思考與練習
第22章備忘錄模式
22.1備忘錄模式動機與定義
22.1.1模式動機
22.1.2模式定義
22.2備忘錄模式結構與分析
22.2.1模式結構
22.2.2模式分析
22.3備忘錄模式實例與解析
22.4備忘錄模式效果與應用
22.4.1模式優缺點
22.4.2模式適用環境
22.4.3模式應用
22.5備忘錄模式擴展
22.6本章小結
思考與練習
第23章觀察者模式
23.1觀察者模式動機與定義
23.1.1模式動機
23.1.2模式定義
23.2觀察者模式結構與分析
23.2.1模式結構
23.2.2模式分析
23.3觀察者模式實例與解析
23.3.1觀察者模式實例之貓、狗與老鼠
23.3.2觀察者模式實例之自定義登錄控件
23.4觀察者模式效果與應用
23.4.1模式優缺點
23.4.2模式適用環境
23.4.3模式應用
23.5觀察者模式擴展
23.6本章小結
思考與練習
第24章狀態模式
24.1狀態模式動機與定義
24.1.1模式動機
24.1.2模式定義
24.2狀態模式結構與分析
24.2.1模式結構
24.2.2模式分析
24.3狀態模式實例與解析
24.3.1狀態模式實例之論壇用戶等級
24.3.2狀態模式實例之銀行賬戶
24.4狀態模式效果與應用
24.4.1模式優缺點
24.4.2模式適用環境
24.4.3模式應用
24.5狀態模式擴展
24.6本章小結
思考與練習
第25章策略模式
25.1策略模式動機與定義
25.1.1模式動機
25.1.2模式定義
25.2策略模式結構與分析
25.2. 1模式結構
25.2.2模式分析
25.3策略模式實例與解析
25.3.1策略模式實例之排序策略
25.3.2策略模式實例之旅遊出行策略
25.4策略模式效果與應用
25.4.1模式優缺點
25.4.2模式適用環境
25.4.3模式應用
25.5策略模式擴展
25.6本章小結
思考與練習
第26章模板方法模式
26.1模板方法模式動機與定義
26.1.1模式動機
26.1.2模式定義
26.2模板方法模式結構與分析
26.2.1模式結構
26.2.2模式分析
26.3模板方法模式實例與解析
26.3.1模板方法模式實例之銀行業務辦理流程
26.3.2模板方法模式實例之數據庫操作模板
26.4模板方法模式效果與應用
26.4.1模式優缺點
26.4.2模式適用環境
26.4.3模式應用
26.5模板方法模式擴展
26.6本章小結
思考與練習
第27章訪問者模式
27.1訪問者模式動機與定義
27.1.1模式動機
27.1.2模式定義
27.2訪問者模式結構與分析
27.2.1模式結構
27.2.2模式分析
27.3訪問者模式實例與解析
27.3.1訪問者模式實例之購物車
27.3.2訪問者模式實例之獎勵審批系統
27.4訪問者模式效果與應用
27.4.1模式優缺點
27.4.2模式適用環境
27.4.3模式應用
27.5訪問者模式擴展
27.6本章小結
思考與練習
參考文獻