本書主要分為三部分,第一部分為設計模式基礎知識篇,主要包括面向對象基本知識、UML基本知識的概念。第二部分為設計模式篇,主要講解三大類若干設計模式及其應用。通對一些基本設計模式、基本原理的講解及應用實例,使學生能理解設計模式背后的基本原則和動機。第三部分為設計模式提高篇,主要講解在復雜場景下設計模式的應用,從而達到對軟件設計中高層次設計模式的組合應用和復雜場景需求變化時采用設計模式的解決方案及應用效果。為更好地服務當前人工智能需求和發(fā)展目標,針對每個設計模式,給出其Python語言程序參考,每章中均有一定的習題,幫助學生鞏固重點知識。本書既可作為高等學校計算機相關專業(yè)本科生和研究生設計模式的教材,也可作為軟件從業(yè)人員的參考用書。
王竹榮,博士,西安理工大學副教授。1986年09月-1990年07月,重慶大學,電氣工程學院電機專業(yè),大學本科;1990年07月-1999年08月,西安電力機械制造公司整流器廠,擔任設計工作;1999年09月-2001年11月,西安理工大學,計算機應用技術,碩士研究;2002年3月-2005年11月,西安理工大學,電力電子與電力傳動,博士研究生;2002年05月-至今,西安理工大學計算機學院,副教授。參加的學術組織及任職:計算機學會高級會員。
目 錄
第一部分設計模式基礎篇
第1章面向對象基礎和UML簡介
1.1面向對象基礎
1.1.1面向對象的基本概念
1.1.2面向對象解決方案
1.1.3面向對象設計原則
1.1.4面向對象解決方案的類圖和效果
練習題1
1.2UML簡介
1.2.1UML的基本概念
1.2.2類圖
1.2.3交互圖
1.2.4小結
第2章設計模式簡介
2.1設計模式的產生和發(fā)展
2.2從建筑設計模式到軟件設計模式
2.3軟件設計模式的定義和分類
2.4學習設計模式的優(yōu)點
練習題2.1第二部分設計模式篇
第3章創(chuàng)建型模式
3.1工廠方法模式
3.1.1工廠方法模式應用需求
3.1.2工廠方法模式解決方案
3.1.3工廠方法模式的簡化
3.1.4工廠方法模式關鍵特征
3.1.5程序代碼
練習題3.1
3.2單例模式
3.2.1單例模式應用需求
3.2.2單例模式解決方案
3.2.3單例模式在多線程的應用
3.2.4單例模式關鍵特征
3.2.5程序代碼
練習題3.2
3.3抽象工廠模式
3.3.1抽象工廠模式應用需求
3.3.2抽象工廠模式解決方案
3.3.3抽象工廠模式應用效果
3.3.4抽象工廠模式關鍵特征
3.3.5抽象工廠模式擴展
3.3.6程序代碼
練習題3.3
3.4原型模式
3.4.1原型模式
3.4.2原型模式的應用
3.4.3淺復制和深復制
3.4.4原型模式關鍵特征
3.4.5程序代碼
練習題3.4
第4章結構型模式
4.1外觀模式
4.1.1外觀模式應用需求
4.1.2外觀模式解決方案
4.1.3外觀模式應用的幾種情形
4.1.4外觀模式關鍵特征
4.1.5程序代碼
練習題4.1
4.2適配器模式
4.2.1適配器模式應用需求
4.2.2對象適配器模式解決方案
4.2.3適配器模式應用擴展
4.2.4適配器模式關鍵特征
4.2.5程序代碼
練習題4.2
4.3橋接模式
4.3.1橋接應用需求
4.3.2橋接模式解決方案
4.3.3橋接模式的更多討論
4.3.4橋接模式關鍵特征
4.3.5程序代碼
練習題4.3
4.4裝飾器模式
4.4.1裝飾器模式應用需求
4.4.2裝飾器模式解決方案
4.4.3應用裝飾器模式動態(tài)增加對象功能
4.4.4裝飾器模式關鍵特征
4.4.5程序代碼
練習題4.4
第5章行為型模式
5.1策略模式
5.1.1策略模式應用需求
5.1.2策略模式解決方案
5.1.3策略模式關鍵特征
5.1.4程序代碼
練習題5.1
5.2模板方法模式
5.2.1模板方法模式應用需求
5.2.2模板方法模式解決方案
5.2.3模板方法模式與策略模式對比
5.2.4模板方法模式關鍵特征
5.2.5程序代碼
練習題5.2
5.3觀察者模式
5.3.1觀察者模式應用需求
5.3.2觀察者模式解決方案
5.3.3觀察者模式關鍵特征
5.3.4程序代碼
練習題5.3
5.4解釋器模式
5.4.1解釋器模式應用需求
5.4.2解釋器模式解決方案
5.4.3解釋器模式關鍵
特征
5.4.4程序代碼
練習題5.4
5.5備忘錄模式
5.5.1備忘錄模式應用需求
5.5.2備忘錄模式解決方案
5.5.3備忘錄模式關鍵特征
5.5.4程序代碼
練習題5.5
5.6迭代器模式
5.6.1迭代器模式應用需求
5.6.2迭代器模式解決方案
5.6.3迭代器模式關鍵特征
5.6.4程序代碼
練習題5.6第三部分設計模式提高篇
第6章專家經驗——用模式組合的
方法解決問題
6.1應用模式組合解決設計問題
6.1.1開閉原則
6.1.2封裝變化原則
6.1.3從背景設計原則
6.2應用模式組合解決設計問題的步驟
6.2.1模式組合解決問題:步驟1
6.2.2模式組合解決問題:步驟2a
6.2.3模式組合解決問題:步驟2b
6.2.4模式組合解決問題:重復步驟2a和步驟2b
6.2.5模式組合解決問題:重復步驟2a和步驟2b
6.3不同解決方案的對比分析
練習題6
第7章利用設計模式解決復雜問題
7.1共性與可變性分析
7.2分析矩陣
7.3模式關聯分析
7.4設計模式的應用
練習題7
參考文獻
附錄
1.創(chuàng)建型模式
1.1工廠方法模式
1.2單例模式
1.3抽象工廠模式
1.4原型模式
2.結構型模式
2.1外觀模式
2.2適配器模式
2.3橋接模式
2.4裝飾模式
3.行為模式
3.1策略模式
3.2模板方法模式
3.3觀察者模式
3.4解釋器模式
3.5備忘錄模式
3.6迭代器模式