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