黨的二十大報(bào)告指出: 教育、科技、人才是全面建設(shè)社會(huì)主義現(xiàn)代化國家的基礎(chǔ)性、戰(zhàn)略性支撐。必須堅(jiān)持科技是第一生產(chǎn)力、人才是第一資源、創(chuàng)新是第一動(dòng)力,深入實(shí)施科教興國戰(zhàn)略、人才強(qiáng)國戰(zhàn)略、創(chuàng)新驅(qū)動(dòng)發(fā)展戰(zhàn)略,開辟發(fā)展新領(lǐng)域新賽道,不斷塑造發(fā)展新動(dòng)能新優(yōu)勢(shì)。高等教育與經(jīng)濟(jì)社會(huì)發(fā)展緊密相連,對(duì)促進(jìn)就業(yè)創(chuàng)業(yè)、助力經(jīng)濟(jì)社會(huì)發(fā)展、增進(jìn)人民福祉具有重要意義。
設(shè)計(jì)模式和敏捷開發(fā)方法的創(chuàng)始人之一Erich Gamma曾說過: 設(shè)計(jì)和開發(fā)面向?qū)ο筌浖欠浅@щy的,而設(shè)計(jì)和開發(fā)可復(fù)用的面向?qū)ο筌浖⻊t更加困難。正因?yàn)槿绱,在軟件開發(fā)過程中,有經(jīng)驗(yàn)的設(shè)計(jì)者往往會(huì)重復(fù)使用一些他們?cè)谝郧暗脑O(shè)計(jì)工作中曾經(jīng)用到的成功而又有效的解決方案,這些解決方案可以提高開發(fā)人員的開發(fā)效率與軟件質(zhì)量,并使得所設(shè)計(jì)的軟件更加靈活,易于擴(kuò)展,可復(fù)用性也更高。這些解決方案就是設(shè)計(jì)模式。設(shè)計(jì)模式為實(shí)現(xiàn)可維護(hù)性復(fù)用而誕生,無論是面向?qū)ο缶幊痰某鯇W(xué)者還是有一定編程經(jīng)驗(yàn)的程序員,都可以從設(shè)計(jì)模式的學(xué)習(xí)和使用中深入理解面向?qū)ο笏枷氲木A,開發(fā)出可擴(kuò)展性和可復(fù)用性俱佳的軟件。
設(shè)計(jì)模式是前人經(jīng)驗(yàn)的積累,它讓軟件變得更像一件藝術(shù)品,而不是一堆難以維護(hù)和重用的代碼,它已經(jīng)成功應(yīng)用于眾多軟件設(shè)計(jì)中,是一個(gè)優(yōu)秀的面向?qū)ο筌浖_發(fā)人員所必須掌握的知識(shí)和技能。本書編者在十多年的軟件開發(fā)和計(jì)算機(jī)教育教學(xué)工作中積累了豐富的設(shè)計(jì)模式使用經(jīng)驗(yàn)和教學(xué)經(jīng)驗(yàn),也深刻體會(huì)到學(xué)習(xí)設(shè)計(jì)模式的重要性。目前,國內(nèi)外越來越多的高校在計(jì)算機(jī)及軟件工程相關(guān)專業(yè)的教學(xué)中開設(shè)了軟件體系結(jié)構(gòu)面向?qū)ο蠓治雠c設(shè)計(jì)等課程,而設(shè)計(jì)模式是這些課程的核心組成部分,還有的學(xué)校將設(shè)計(jì)模式作為一門單獨(dú)的課程來開設(shè)。此外,很多軟件培訓(xùn)機(jī)構(gòu)在軟件工程師培訓(xùn)課程中也包含了設(shè)計(jì)模式相關(guān)內(nèi)容,在各類計(jì)算機(jī)考試和企業(yè)招聘筆試中設(shè)計(jì)模式相關(guān)考題也占據(jù)了一定的比例。編者在過去幾年中已完成多種設(shè)計(jì)模式教材的編寫工作,本書融合了之前幾種教材的優(yōu)點(diǎn),力求為廣大師生提供一本內(nèi)容全面、實(shí)用性強(qiáng)、通俗易懂的設(shè)計(jì)模式教材。
本書的編寫目的在于通過大量應(yīng)用實(shí)例和習(xí)題,理論聯(lián)系實(shí)際,使讀者更快、更好地理解和掌握每個(gè)設(shè)計(jì)模式。全書共26章,可分為四部分:
第一部分包含第1章和第2章,主要介紹與設(shè)計(jì)模式相關(guān)的一些基礎(chǔ)知識(shí),包括設(shè)計(jì)模式概述、7個(gè)常用的面向?qū)ο笤O(shè)計(jì)原則等內(nèi)容,為后續(xù)設(shè)計(jì)模式的學(xué)習(xí)奠定基礎(chǔ);
第二部分包含第3~8章,介紹6種常用的創(chuàng)建型設(shè)計(jì)模式,分別是簡(jiǎn)單工廠模式、工廠方法模式、抽象工廠模式、建造者模式、原型模式和單例模式;
第三部分包含第9~15章,介紹7種常用的結(jié)構(gòu)型設(shè)計(jì)模式,分別是適配器模式、橋接模式、組合模式、裝飾模式、外觀模式、享元模式和代理模式;
第四部分包含第16~26章,介紹11種常用的行為型設(shè)計(jì)模式,分別是職責(zé)鏈模式、命令模式、解釋器模式、迭代器模式、中介者模式、備忘錄模式、觀察者模式、狀態(tài)模式、策略模式、模板方法模式和訪問者模式。
本書結(jié)合大量項(xiàng)目應(yīng)用實(shí)例對(duì)每個(gè)設(shè)計(jì)模式進(jìn)行了細(xì)致的講解。全書結(jié)構(gòu)合理、條理清晰、內(nèi)容豐富、講解深入,且在每章后面都配有大量的習(xí)題,很多習(xí)題也都基于項(xiàng)目實(shí)例,讓讀者在學(xué)完相關(guān)知識(shí)后能夠更好地消化和鞏固所學(xué)知識(shí)。此外,在附錄中還提供了UML類圖相關(guān)知識(shí)的介紹。
在本書的編寫過程中參考了大量已有的設(shè)計(jì)模式書籍,集各家之所長(zhǎng),并進(jìn)行了適當(dāng)?shù)恼砗蛿U(kuò)展,將一些原本深?yuàn)W并難以理解的設(shè)計(jì)思想通過簡(jiǎn)單的應(yīng)用實(shí)例來解析,讓讀者能夠輕松掌握面向?qū)ο笤O(shè)計(jì)思想的精髓。本書以實(shí)例驅(qū)動(dòng)教學(xué)為整體編寫原則,每個(gè)模式的學(xué)習(xí)都基于至少一個(gè)應(yīng)用實(shí)例,結(jié)合應(yīng)用實(shí)例分析和講解每個(gè)設(shè)計(jì)模式,力求通過最通俗易懂的方式讓讀者學(xué)習(xí)和理解設(shè)計(jì)模式,讓讀者在真實(shí)項(xiàng)目實(shí)例的引導(dǎo)下學(xué)會(huì)選擇和合理運(yùn)用設(shè)計(jì)模式。在設(shè)計(jì)模式講解部分,每章的基本結(jié)構(gòu)如下:
為便于教學(xué),本書提供豐富的配套資源,包括教學(xué)大綱、教學(xué)課件、電子教案、教學(xué)進(jìn)度表、在線作業(yè)、習(xí)題答案和600分鐘的微課視頻。此外,本書還提供完整的設(shè)計(jì)模式及應(yīng)用實(shí)例的UML結(jié)構(gòu)圖(類圖)和Java實(shí)現(xiàn)代碼,所有類圖均嚴(yán)格按照UML 2.X標(biāo)準(zhǔn)繪制,所有代碼均在Eclipse Neon v4.6.0中通過測(cè)試且運(yùn)行無誤。
資源下載提示
課件等資源: 掃描封底的圖書資源二維碼,在公眾號(hào)書圈下載。
素材(源碼)等資源: 掃描目錄上方的二維碼下載。
在線自測(cè)題: 掃描封底的作業(yè)系統(tǒng)二維碼,再掃描自測(cè)題二維碼在線做題。
微課視頻: 掃描封底的文泉云盤防盜碼,再掃描書中相應(yīng)章節(jié)的視頻講解二維碼,可以在線學(xué)習(xí)。
本書既可作為高等院校計(jì)算機(jī)及軟件相關(guān)專業(yè)軟件設(shè)計(jì)模式軟件體系結(jié)構(gòu)面向?qū)ο蠓治雠c設(shè)計(jì)等課程教材,也可作為各軟件培訓(xùn)機(jī)構(gòu)培訓(xùn)教材及全國計(jì)算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試輔導(dǎo)教材,還可作為軟件架構(gòu)師、軟件工程師及廣大軟件愛好者的自學(xué)讀物和參考用書。
由于時(shí)間倉促,加之編者學(xué)識(shí)有限,雖經(jīng)多次審閱與校稿,但書中不足和疏漏之處在所難免,懇請(qǐng)廣大讀者批評(píng)、指正,力求使本書精益求精,更趨完美。
編者
2024年8月
第一部分設(shè)計(jì)模式基礎(chǔ)
第1章設(shè)計(jì)模式概述
1.1設(shè)計(jì)模式的誕生與發(fā)展
1.1.1模式的誕生與定義
1.1.2軟件模式概述
1.1.3設(shè)計(jì)模式的發(fā)展
1.2設(shè)計(jì)模式的定義與分類
1.2.1設(shè)計(jì)模式的定義
1.2.2設(shè)計(jì)模式的基本要素
1.2.3設(shè)計(jì)模式的分類
1.3GoF設(shè)計(jì)模式簡(jiǎn)介
1.4設(shè)計(jì)模式的優(yōu)點(diǎn)
1.5本章小結(jié)
1.6習(xí)題
第2章面向?qū)ο笤O(shè)計(jì)原則
2.1面向?qū)ο笤O(shè)計(jì)原則概述
2.2單一職責(zé)原則
2.3開閉原則
2.4里氏代換原則
2.5依賴倒轉(zhuǎn)原則
2.6接口隔離原則
2.7合成復(fù)用原則
2.8迪米特法則
2.9本章小結(jié)
2.10習(xí)題
第二部分創(chuàng)建型設(shè)計(jì)模式
第3章簡(jiǎn)單工廠模式
3.1創(chuàng)建型模式
3.2簡(jiǎn)單工廠模式概述
3.3簡(jiǎn)單工廠模式結(jié)構(gòu)與實(shí)現(xiàn)
3.3.1簡(jiǎn)單工廠模式結(jié)構(gòu)
3.3.2簡(jiǎn)單工廠模式實(shí)現(xiàn)
3.4簡(jiǎn)單工廠模式應(yīng)用實(shí)例
3.5關(guān)于創(chuàng)建對(duì)象與使用對(duì)象
3.6簡(jiǎn)單工廠模式的簡(jiǎn)化
3.7簡(jiǎn)單工廠模式優(yōu)缺點(diǎn)與適用環(huán)境
3.7.1簡(jiǎn)單工廠模式優(yōu)點(diǎn)
3.7.2簡(jiǎn)單工廠模式缺點(diǎn)
3.7.3簡(jiǎn)單工廠模式適用環(huán)境
3.8本章小結(jié)
3.9習(xí)題
第4章工廠方法模式
4.1工廠方法模式概述
4.2工廠方法模式結(jié)構(gòu)與實(shí)現(xiàn)
4.2.1工廠方法模式結(jié)構(gòu)
4.2.2工廠方法模式實(shí)現(xiàn)
4.3工廠方法模式應(yīng)用實(shí)例
4.4反射機(jī)制與配置文件
4.5工廠方法的重載
4.6工廠方法的隱藏
4.7工廠方法模式優(yōu)缺點(diǎn)與適用環(huán)境
4.7.1工廠方法模式優(yōu)點(diǎn)
4.7.2工廠方法模式缺點(diǎn)
4.7.3工廠方法模式適用環(huán)境
4.8本章小結(jié)
4.9習(xí)題
第5章抽象工廠模式
5.1產(chǎn)品等級(jí)結(jié)構(gòu)與產(chǎn)品族
5.2抽象工廠模式概述
5.3抽象工廠模式結(jié)構(gòu)與實(shí)現(xiàn)
5.3.1抽象工廠模式結(jié)構(gòu)
5.3.2抽象工廠模式實(shí)現(xiàn)
5.4抽象工廠模式應(yīng)用實(shí)例
5.5開閉原則的傾斜性
5.6抽象工廠模式優(yōu)缺點(diǎn)與適用環(huán)境
5.6.1抽象工廠模式優(yōu)點(diǎn)
5.6.2抽象工廠模式缺點(diǎn)
5.6.3抽象工廠模式適用環(huán)境
5.7本章小結(jié)
5.8習(xí)題
第6章建造者模式
6.1建造者模式概述
6.2建造者模式結(jié)構(gòu)與實(shí)現(xiàn)
6.2.1建造者模式結(jié)構(gòu)
6.2.2建造者模式實(shí)現(xiàn)
6.3建造者模式應(yīng)用實(shí)例
6.4指揮者類的深入討論
6.5建造者模式優(yōu)缺點(diǎn)與適用環(huán)境
6.5.1建造者模式優(yōu)點(diǎn)
6.5.2建造者模式缺點(diǎn)
6.5.3建造者模式適用環(huán)境
6.6本章小結(jié)
6.7習(xí)題
第7章原型模式
7.1原型模式概述
7.2原型模式結(jié)構(gòu)與實(shí)現(xiàn)
7.2.1原型模式結(jié)構(gòu)
7.2.2淺克隆與深克隆
7.2.3原型模式實(shí)現(xiàn)
7.3原型模式應(yīng)用實(shí)例
7.4原型管理器
7.5原型模式優(yōu)缺點(diǎn)與適用環(huán)境
7.5.1原型模式優(yōu)點(diǎn)
7.5.2原型模式缺點(diǎn)
7.5.3原型模式適用環(huán)境
7.6本章小結(jié)
7.7習(xí)題
第8章單例模式
8.1單例模式概述
8.2單例模式結(jié)構(gòu)與實(shí)現(xiàn)
8.2.1單例模式結(jié)構(gòu)
8.2.2單例模式實(shí)現(xiàn)
8.3單例模式應(yīng)用實(shí)例
8.4餓漢式單例與懶漢式單例
8.5使用靜態(tài)內(nèi)部類和枚舉實(shí)現(xiàn)單例模式
8.6單例模式優(yōu)缺點(diǎn)與適用環(huán)境
8.6.1單例模式優(yōu)點(diǎn)
8.6.2單例模式缺點(diǎn)
8.6.3單例模式適用環(huán)境
8.7本章小結(jié)
8.8習(xí)題
第三部分結(jié)構(gòu)型設(shè)計(jì)模式
第9章適配器模式
9.1結(jié)構(gòu)型模式
9.2適配器模式概述
9.3適配器模式結(jié)構(gòu)與實(shí)現(xiàn)
9.3.1適配器模式結(jié)構(gòu)
9.3.2適配器模式實(shí)現(xiàn)
9.4適配器模式應(yīng)用實(shí)例
9.5缺省適配器模式
9.6雙向適配器
9.7適配器模式優(yōu)缺點(diǎn)與適用環(huán)境
9.7.1適配器模式優(yōu)點(diǎn)
9.7.2適配器模式缺點(diǎn)
9.7.3適配器模式適用環(huán)境
9.8本章小結(jié)
9.9習(xí)題
第10章橋接模式
10.1橋接模式概述
10.2橋接模式結(jié)構(gòu)與實(shí)現(xiàn)
10.2.1橋接模式結(jié)構(gòu)
10.2.2橋接模式實(shí)現(xiàn)
10.3橋接模式應(yīng)用實(shí)例
10.4橋接模式與適配器模式的聯(lián)用
10.5橋接模式優(yōu)缺點(diǎn)與適用環(huán)境
10.5.1橋接模式優(yōu)點(diǎn)
10.5.2橋接模式缺點(diǎn)
10.5.3橋接模式適用環(huán)境
10.6本章小結(jié)
10.7習(xí)題
第11章組合模式
11.1組合模式概述
11.2組合模式結(jié)構(gòu)與實(shí)現(xiàn)
11.2.1組合模式結(jié)構(gòu)
11.2.2組合模式實(shí)現(xiàn)
11.3組合模式應(yīng)用實(shí)例
11.4透明組合模式與安全組合模式
11.5組合模式優(yōu)缺點(diǎn)與適用環(huán)境
11.5.1組合模式優(yōu)點(diǎn)
11.5.2組合模式缺點(diǎn)
11.5.3組合模式適用環(huán)境
11.6本章小結(jié)
11.7習(xí)題
第12章裝飾模式
12.1裝飾模式概述
12.2裝飾模式結(jié)構(gòu)與實(shí)現(xiàn)
12.2.1裝飾模式結(jié)構(gòu)
12.2.2裝飾模式實(shí)現(xiàn)
12.3裝飾模式應(yīng)用實(shí)例
12.4透明裝飾模式與半透明裝飾模式
12.5裝飾模式優(yōu)缺點(diǎn)與適用環(huán)境
12.5.1裝飾模式優(yōu)點(diǎn)
12.5.2裝飾模式缺點(diǎn)
12.5.3裝飾模式適用環(huán)境
12.6本章小結(jié)
12.7習(xí)題
第13章外觀模式
13.1外觀模式概述
13.2外觀模式結(jié)構(gòu)與實(shí)現(xiàn)
13.2.1外觀模式結(jié)構(gòu)
13.2.2外觀模式實(shí)現(xiàn)
13.3外觀模式應(yīng)用實(shí)例
13.4抽象外觀類
13.5外觀模式優(yōu)缺點(diǎn)與適用環(huán)境
13.5.1外觀模式優(yōu)點(diǎn)
13.5.2外觀模式缺點(diǎn)
13.5.3外觀模式適用環(huán)境
13.6本章小結(jié)
13.7習(xí)題
第14章享元模式
14.1享元模式概述
14.2享元模式結(jié)構(gòu)與實(shí)現(xiàn)
14.2.1享元模式結(jié)構(gòu)
14.2.2享元模式實(shí)現(xiàn)
14.3享元模式應(yīng)用實(shí)例
14.4有外部狀態(tài)的享元模式
14.5單純享元模式與復(fù)合享元模式
14.6享元模式與String類
14.7享元模式優(yōu)缺點(diǎn)與適用環(huán)境
14.7.1享元模式優(yōu)點(diǎn)
14.7.2享元模式缺點(diǎn)
14.7.3享元模式適用環(huán)境
14.8本章小結(jié)
14.9習(xí)題
第15章代理模式
15.1代理模式概述
15.2代理模式結(jié)構(gòu)與實(shí)現(xiàn)
15.2.1代理模式結(jié)構(gòu)
15.2.2代理模式實(shí)現(xiàn)
15.3代理模式應(yīng)用實(shí)例
15.4遠(yuǎn)程代理
15.5虛擬代理
15.6動(dòng)態(tài)代理
15.7代理模式優(yōu)缺點(diǎn)與適用環(huán)境
15.7.1代理模式優(yōu)點(diǎn)
15.7.2代理模式缺點(diǎn)
15.7.3代理模式適用環(huán)境
15.8本章小結(jié)
15.9習(xí)題
第四部分行為型設(shè)計(jì)模式
第16章職責(zé)鏈模式
16.1行為型模式
16.2職責(zé)鏈模式概述
16.3職責(zé)鏈模式結(jié)構(gòu)與實(shí)現(xiàn)
16.3.1職責(zé)鏈模式結(jié)構(gòu)
16.3.2職責(zé)鏈模式實(shí)現(xiàn)
16.4職責(zé)鏈模式應(yīng)用實(shí)例
16.5純與不純的職責(zé)鏈模式
16.6職責(zé)鏈模式優(yōu)缺點(diǎn)與適用環(huán)境
16.6.1職責(zé)鏈模式優(yōu)點(diǎn)
16.6.2職責(zé)鏈模式缺點(diǎn)
16.6.3職責(zé)鏈模式適用環(huán)境
16.7本章小結(jié)
16.8習(xí)題
第17章命令模式
17.1命令模式概述
17.2命令模式結(jié)構(gòu)與實(shí)現(xiàn)
17.2.1命令模式結(jié)構(gòu)
17.2.2命令模式實(shí)現(xiàn)
17.3命令模式應(yīng)用實(shí)例
17.4實(shí)現(xiàn)命令隊(duì)列
17.5記錄請(qǐng)求日志
17.6實(shí)現(xiàn)撤銷操作
17.7宏命令
17.8命令模式優(yōu)缺點(diǎn)與適用環(huán)境
17.8.1命令模式優(yōu)點(diǎn)
17.8.2命令模式缺點(diǎn)
17.8.3命令模式適用環(huán)境
17.9本章小結(jié)
17.10習(xí)題
第18章解釋器模式
18.1解釋器模式概述
18.2文法規(guī)則和抽象語法樹
18.3解釋器模式結(jié)構(gòu)與實(shí)現(xiàn)
18.3.1解釋器模式結(jié)構(gòu)
18.3.2解釋器模式實(shí)現(xiàn)
18.4解釋器模式應(yīng)用實(shí)例
18.5解釋器模式優(yōu)缺點(diǎn)與適用環(huán)境
18.5.1解釋器模式優(yōu)點(diǎn)
18.5.2解釋器模式缺點(diǎn)
18.5.3解釋器模式適用環(huán)境
18.6本章小結(jié)
18.7習(xí)題
第19章迭代器模式
19.1迭代器模式概述
19.2迭代器模式結(jié)構(gòu)與實(shí)現(xiàn)
19.2.1迭代器模式結(jié)構(gòu)
19.2.2迭代器模式實(shí)現(xiàn)
19.3迭代器模式應(yīng)用實(shí)例
19.4使用內(nèi)部類實(shí)現(xiàn)迭代器
19.5Java內(nèi)置迭代器
19.6迭代器模式優(yōu)缺點(diǎn)與適用環(huán)境
19.6.1迭代器模式優(yōu)點(diǎn)
19.6.2迭代器模式缺點(diǎn)
19.6.3迭代器模式適用環(huán)境
19.7本章小結(jié)
19.8習(xí)題
第20章中介者模式
20.1中介者模式概述
20.2中介者模式結(jié)構(gòu)與實(shí)現(xiàn)
20.2.1中介者模式結(jié)構(gòu)
20.2.2中介者模式實(shí)現(xiàn)
20.3中介者模式應(yīng)用實(shí)例
20.4擴(kuò)展中介者與同事類
20.5中介者模式優(yōu)缺點(diǎn)與適用環(huán)境
20.5.1中介者模式優(yōu)點(diǎn)
20.5.2中介者模式缺點(diǎn)
20.5.3中介者模式適用環(huán)境
20.6本章小結(jié)
20.7習(xí)題
第21章備忘錄模式
21.1備忘錄模式概述
21.2備忘錄模式結(jié)構(gòu)與實(shí)現(xiàn)
21.2.1備忘錄模式結(jié)構(gòu)
21.2.2備忘錄模式實(shí)現(xiàn)
21.3備忘錄模式應(yīng)用實(shí)例
21.4實(shí)現(xiàn)多次撤銷
21.5備忘錄模式優(yōu)缺點(diǎn)與適用環(huán)境
21.5.1備忘錄模式優(yōu)點(diǎn)
21.5.2備忘錄模式缺點(diǎn)
21.5.3備忘錄模式適用環(huán)境
21.6本章小結(jié)
21.7習(xí)題
第22章觀察者模式
22.1觀察者模式概述
22.2觀察者模式結(jié)構(gòu)與實(shí)現(xiàn)
22.2.1觀察者模式結(jié)構(gòu)
22.2.2觀察者模式實(shí)現(xiàn)
22.3觀察者模式應(yīng)用實(shí)例
22.4JDK對(duì)觀察者模式的支持
22.5觀察者模式與Java事件處理
22.6觀察者模式與MVC
22.7觀察者模式優(yōu)缺點(diǎn)與適用環(huán)境
22.7.1觀察者模式優(yōu)點(diǎn)
22.7.2觀察者模式缺點(diǎn)
22.7.3觀察者模式適用環(huán)境
22.8本章小結(jié)
22.9習(xí)題
第23章狀態(tài)模式
23.1狀態(tài)模式概述
23.2狀態(tài)模式結(jié)構(gòu)與實(shí)現(xiàn)
23.2.1狀態(tài)模式結(jié)構(gòu)
23.2.2狀態(tài)模式實(shí)現(xiàn)
23.3狀態(tài)模式應(yīng)用實(shí)例
23.4共享狀態(tài)
23.5使用環(huán)境類實(shí)現(xiàn)狀態(tài)轉(zhuǎn)換
23.6狀態(tài)模式優(yōu)缺點(diǎn)與適用環(huán)境
23.6.1狀態(tài)模式優(yōu)點(diǎn)
23.6.2狀態(tài)模式缺點(diǎn)
23.6.3狀態(tài)模式適用環(huán)境
23.7本章小結(jié)
23.8習(xí)題
第24章策略模式
24.1策略模式概述
24.2策略模式結(jié)構(gòu)與實(shí)現(xiàn)
24.2.1策略模式結(jié)構(gòu)
24.2.2策略模式實(shí)現(xiàn)
24.3策略模式應(yīng)用實(shí)例
24.4Java SE中的布局管理
24.5策略模式優(yōu)缺點(diǎn)與適用環(huán)境
24.5.1策略模式優(yōu)點(diǎn)
24.5.2策略模式缺點(diǎn)
24.5.3策略模式適用環(huán)境
24.6本章小結(jié)
24.7習(xí)題
第25章模板方法模式
25.1模板方法模式概述
25.2模板方法模式結(jié)構(gòu)與實(shí)現(xiàn)
25.2.1模板方法模式結(jié)構(gòu)
25.2.2模板方法模式實(shí)現(xiàn)
25.3模板方法模式應(yīng)用實(shí)例
25.4鉤子方法的使用
25.5模板方法模式優(yōu)缺點(diǎn)與適用環(huán)境
25.5.1模板方法模式優(yōu)點(diǎn)
25.5.2模板方法模式缺點(diǎn)
25.5.3模板方法模式適用環(huán)境
25.6本章小結(jié)
25.7習(xí)題
第26章訪問者模式
26.1訪問者模式概述
26.2訪問者模式結(jié)構(gòu)與實(shí)現(xiàn)
26.2.1訪問者模式結(jié)構(gòu)
26.2.2訪問者模式實(shí)現(xiàn)
26.3訪問者模式應(yīng)用實(shí)例
26.4訪問者模式與組合模式聯(lián)用
26.5訪問者模式優(yōu)缺點(diǎn)與適用環(huán)境
26.5.1訪問者模式優(yōu)點(diǎn)
26.5.2訪問者模式缺點(diǎn)
26.5.3訪問者模式適用環(huán)境
26.6本章小結(jié)
26.7習(xí)題
附錄AUML類圖
A.1UML概述
A.2類與類的UML表示
A.3類之間的關(guān)系
參考文獻(xiàn)