出版時(shí)間:2011-11 出版社:電子工業(yè)出版社 作者:鄭阿奇 編 頁數(shù):628
Tag標(biāo)簽:無
內(nèi)容概要
這本《軟件秘笈——設(shè)計(jì)模式那點(diǎn)事(附光盤)》由鄭阿奇主編,在第1
章軟件設(shè)計(jì)模式概述后,從第2章到第24章詮釋23個(gè)軟件設(shè)計(jì)模式。每一種都從一個(gè)生活故事開始,然后是模式定義、模式分析、模式實(shí)現(xiàn)、設(shè)計(jì)原則和使用場合。模式實(shí)現(xiàn)通過Eclipse中的Java
工程展開,采用軟件編程詮釋設(shè)計(jì)模式故事中的情節(jié)和操作,非常有趣。在這個(gè)基礎(chǔ)上,總結(jié)該軟件設(shè)計(jì)模式的設(shè)計(jì)原則,最后提出使用場合。第25章對各種軟件設(shè)計(jì)模式進(jìn)行系統(tǒng)總結(jié),第26章是各種軟件設(shè)計(jì)模式的綜合應(yīng)用。
《軟件秘笈——設(shè)計(jì)模式那點(diǎn)事(附光盤)》適合軟件開發(fā)專業(yè)的學(xué)生、軟件開發(fā)人員學(xué)習(xí)參考,也可作為高等學(xué)校有關(guān)課程的教材和參考書。
書籍目錄
1 設(shè)計(jì)模式概述
1.1 計(jì)算機(jī)軟件的發(fā)展現(xiàn)狀
1.2 引入設(shè)計(jì)模式的必要性
1.3 軟件設(shè)計(jì)遵循的基本原則
1.3.1 高內(nèi)聚、低耦合
1.3.2 面向抽象編程
1.3.3 多用組合少用繼承
1.3.4 "開-閉"原則
1.4 設(shè)計(jì)模式概述
1.4.1 什么是設(shè)計(jì)模式
1.4.2 為什么需要設(shè)計(jì)模式
1.4.3 如何正確應(yīng)用設(shè)計(jì)模式
1.5 設(shè)計(jì)模式的分類
1.5.1 創(chuàng)建型模式
1.5.2 結(jié)構(gòu)型模式
1.5.3 行為型模式
1.6 學(xué)會(huì)歸納和總結(jié)
第一部分 創(chuàng)建型模式
2 曹操獻(xiàn)刀:工廠方法模式
2.1 三國故事之曹操獻(xiàn)刀
2.2 模式定義
2.3 故事中的模式分析
2.3.1 故事中的角色
2.3.2 抽象化分析方法
2.3.3 工廠方法模式的靜態(tài)建模
2.4 故事的工廠方法模式實(shí)現(xiàn)
2.4.1 建立產(chǎn)品
2.4.2 建立工廠
2.4.3 故事情節(jié)的歷史重現(xiàn)
2.4.4 用八星寶刀來考驗(yàn)?zāi)J?br />2.5 設(shè)計(jì)原則
2.6 使用場合
2.7 本章要點(diǎn)
3 肯德基:抽象工廠模式
3.1 發(fā)生在肯德基的故事
3.2 模式定義
3.3 故事中的模式分析
3.3.1 故事中的角色
3.3.2 抽象化分析
3.3.3 抽象工廠模式的靜態(tài)建模
3.4 故事的抽象工廠模式實(shí)現(xiàn)
3.4.1 抽象食物的建立
3.4.2 建立不同食物的抽象基類
3.4.3 創(chuàng)建具體的食物
3.4.4 建立工廠
3.4.5 創(chuàng)建客戶類
3.4.6 故事情節(jié)的展現(xiàn)
3.5 設(shè)計(jì)原則
3.6 使用場合
3.7 本章要點(diǎn)
4 手機(jī)套餐:建造者模式
4.1 手機(jī)套餐
4.2 模式定義
4.3 故事中的模式分析
4.3.1 角色分析
4.3.2 建造者模式的靜態(tài)建模
4.4 模式實(shí)現(xiàn)
4.4.1 創(chuàng)建產(chǎn)品--手機(jī)套餐
4.4.2 建立抽象建造者
4.4.3 建立具體建造者
4.4.4 創(chuàng)建指導(dǎo)者
4.4.5 讓客戶訂購手機(jī)套餐
4.4.6 如何簡化建造者實(shí)現(xiàn)
4.5 設(shè)計(jì)原則
4.6 使用場合
4.7 本章要點(diǎn)
5 大學(xué)生初入社會(huì):原型模式
5.1 大學(xué)生初入社會(huì)
5.2 模式定義
5.3 大學(xué)生故事的模式分析
5.3.1 故事情節(jié)分析
5.3.2 原型模式的靜態(tài)建模
5.4 大學(xué)生故事的原型模式實(shí)現(xiàn)
5.4.1 原型的建立
5.4.2 創(chuàng)建生成原型對象的工廠
5.4.3 大學(xué)生初入社會(huì)的生活展現(xiàn)
5.5 設(shè)計(jì)原則
5.6 使用場合
5.7 本章要點(diǎn)
6 課堂上互動(dòng):單例模式
6.1 課堂上發(fā)生的故事
6.2 模式定義
6.3 模式分析
6.4 模式實(shí)現(xiàn)
6.4.1 實(shí)現(xiàn)一:使用同步線程安全創(chuàng)建單例對象
6.4.2 實(shí)現(xiàn)二:創(chuàng)建一個(gè)類全局對象實(shí)例作為單例對象
6.4.3 提高:多例模式實(shí)現(xiàn)
6.5 設(shè)計(jì)原則
6.6 使用場合
6.7 本章要點(diǎn)
第二部分 結(jié)構(gòu)型模式
7 電源轉(zhuǎn)換:適配器模式
7.1 生活中的適配器
7.2 模式定義
7.3 模式分析
7.3.1 適配器中的角色
7.3.2 靜態(tài)建模
7.4 模式實(shí)現(xiàn)
7.4.1 抽象電源建立
7.4.2 創(chuàng)建220V電源
7.4.3 創(chuàng)建12V電源
7.4.4 測試220V電源和12V電源
7.4.5 對象適配器實(shí)現(xiàn)
7.4.6 類適配器模式實(shí)現(xiàn)
7.5 設(shè)計(jì)原則
7.6 使用場合
7.7 本章要點(diǎn)
8 開關(guān)與電燈:橋接模式
8.1 開關(guān)與電燈
8.2 模式定義
8.3 一般化分析
8.4 一般化實(shí)現(xiàn)
8.4.1 建立抽象開關(guān)
8.4.2 電燈實(shí)現(xiàn)
8.4.3 客戶端測試
8.4.4 對于擴(kuò)展功能的思考
8.5 橋接模式分析方法
8.6 開關(guān)與電燈的橋接模式實(shí)現(xiàn)
8.6.1 創(chuàng)建電燈接口
8.6.2 創(chuàng)建開關(guān)
8.6.3 電燈實(shí)現(xiàn)
8.6.4 客戶端測試
8.7 設(shè)計(jì)原則
8.8 使用場合
8.9 本章要點(diǎn)
9 公司層級結(jié)構(gòu):組合模式
9.1 公司層級結(jié)構(gòu)
9.2 模式定義
9.3 一般化分析
9.4 一般化實(shí)現(xiàn)
9.4.1 創(chuàng)建普通員工
9.4.2 創(chuàng)建管理者
9.4.3 客戶端測試
9.4.4 系統(tǒng)結(jié)構(gòu)的思考
9.5 組合模式分析方法
9.6 公司結(jié)構(gòu)的組合模式實(shí)現(xiàn)
9.6.1 建立員工抽象
9.6.2 創(chuàng)建管理者
9.6.3 創(chuàng)建普通員工
9.6.4 客戶端測試
9.7 設(shè)計(jì)原則
9.8 使用場合
9.9 本章要點(diǎn)
10 染色饅頭:裝飾者模式
10.1 染色饅頭事件
10.2 模式定義
10.3 一般化分析
10.4 一般化實(shí)現(xiàn)
10.4.1 創(chuàng)建饅頭接口
10.4.2 正常饅頭
10.4.3 染色饅頭
10.4.4 甜饅頭
10.4.5 如何生產(chǎn)甜玉米饅頭
10.5 裝飾者模式分析方法
10.6 染色饅頭的裝飾者模式實(shí)現(xiàn)
10.6.1 創(chuàng)建抽象裝飾者
10.6.2 創(chuàng)建裝飾者
10.6.3 生產(chǎn)甜玉米饅頭
10.7 設(shè)計(jì)原則
10.8 使用場合
10.9 本章要點(diǎn)
11 美食天下:外觀模式
11.1 美食天下
11.2 模式定義
11.3 一般化分析
11.4 一般化實(shí)現(xiàn)
11.4.1 創(chuàng)建糖醋排骨接口
11.4.2 糖醋排骨實(shí)現(xiàn)
11.4.3 客戶端測試
11.5 外觀模式分析方法
11.5.1 讓廚師為我們做菜
11.5.2 外觀模式的靜態(tài)建模
11.6 糖醋排骨的外觀模式實(shí)現(xiàn)
11.6.1 建立外觀門面
11.6.2 客戶端測試
11.7 設(shè)計(jì)原則
11.8 使用場合
11.9 本章要點(diǎn)
12 五子棋游戲:享元模式
12.1 五子棋游戲
12.2 模式定義
12.3 模式分析
12.3.1 五子棋游戲分析
12.3.2 靜態(tài)建模
12.4 模式實(shí)現(xiàn)
12.4.1 創(chuàng)建抽象棋子
12.4.2 棋子實(shí)現(xiàn)
12.4.3 創(chuàng)建棋子工廠
12.4.4 客戶端測試
12.4.5 如何實(shí)現(xiàn)棋子的位置
12.4.6 測試棋子的外蘊(yùn)狀態(tài)
12.5 設(shè)計(jì)原則
12.6 使用場合
12.7 本章要點(diǎn)
13 紅酒經(jīng)銷:代理模式
13.1 紅酒代理商
13.2 模式定義
13.3 模式分析
13.3.1 消費(fèi)者購買行為分析
13.3.2 靜態(tài)建模
13.4 模式實(shí)現(xiàn)
13.4.1 創(chuàng)建紅酒生產(chǎn)廠商
13.4.2 到紅酒工廠購買紅酒
13.4.3 創(chuàng)建紅酒代理商
13.4.4 到紅酒代理商處購買紅酒
13.5 設(shè)計(jì)原則
13.6 使用場合
13.7 本章要點(diǎn)
第三部分 行為型模式
14 學(xué)生生病了:責(zé)任鏈模式
14.1 學(xué)生生病了
14.2 模式定義
14.3 普通抽象化分析
14.3.1 學(xué)生請假流程分析
14.3.2 抽象化靜態(tài)建模
14.4 普通抽象化實(shí)現(xiàn)
14.4.1 學(xué)生請假實(shí)現(xiàn)
14.4.2 創(chuàng)建抽象請假消息處理者
14.4.3 請假處理者具體實(shí)現(xiàn)
14.4.4 客戶端測試
14.4.5 如何面對變化
14.4.6 使用外觀封裝變化部分
14.5 責(zé)任鏈模式分析方法
14.5.1 如何實(shí)現(xiàn)消息傳遞
14.5.2 責(zé)任鏈模式靜態(tài)建模
14.6 請假流程的責(zé)任鏈模式實(shí)現(xiàn)
14.6.1 抽象化修改
14.6.2 完善具體消息處理者
14.6.3 在外觀中設(shè)置消息處理責(zé)任鏈
14.6.4 客戶端測試
14.7 設(shè)計(jì)原則
14.8 使用場合
14.9 本章要點(diǎn)
15 郵局:命令模式
15.1 生活中的郵局
15.2 模式定義
15.3 模式分析
15.3.1 郵局例子分析
15.3.2 靜態(tài)建模
15.4 模式實(shí)現(xiàn)
15.4.1 創(chuàng)建消息接收者
15.4.2 創(chuàng)建中間角色郵局
15.4.3 創(chuàng)建消息發(fā)送者
15.4.4 讓郵局開始工作
15.4.5 優(yōu)化我們的設(shè)計(jì)
15.5 設(shè)計(jì)原則
15.6 使用場合
15.7 本章要點(diǎn)
16 創(chuàng)建自己的語言:解釋器模式
16.1 創(chuàng)建自己的語言解釋器
16.2 模式定義
16.3 模式分析
16.3.1 "myida"語言分析
16.3.2 "myida"語言解釋器原理
16.4 模式實(shí)現(xiàn)
16.4.1 創(chuàng)建上下文環(huán)境
16.4.2 創(chuàng)建解析表達(dá)式
16.4.3 讓"myida"語言解釋器開始工作
16.5 設(shè)計(jì)原則
16.6 使用場合
16.7 本章要點(diǎn)
17 循環(huán)遍歷:迭代器模式
17.1 讓迭代器代替for循環(huán)
17.2 模式定義
17.3 模式分析
17.3.1 如何遍歷集合對象
17.3.2 迭代器模式靜態(tài)建模
17.4 模式實(shí)現(xiàn)
17.4.1 人員信息實(shí)現(xiàn)
17.4.2 人員集合實(shí)現(xiàn)
17.4.3 迭代器實(shí)現(xiàn)
17.4.4 讓迭代器遍歷集合對象
17.4.5 迭代器如何面對變化
17.4.6 客戶端發(fā)生哪些變化
17.5 設(shè)計(jì)原則
17.6 使用場合
17.7 本章要點(diǎn)
18 多人聊天室:中介者模式
18.1 多人聊天室
18.2 模式定義
18.3 模式分析
18.3.1 多人聊天室結(jié)構(gòu)分析
18.3.2 靜態(tài)建模
18.4 模式實(shí)現(xiàn)
18.4.1 創(chuàng)建用戶接口
18.4.2 創(chuàng)建中介者
18.4.3 創(chuàng)建用戶
18.4.4 運(yùn)行多人聊天室
18.5 設(shè)計(jì)原則
18.6 使用場合
18.7 本章要點(diǎn)
19 過關(guān)類游戲:備忘錄模式
19.1 過關(guān)類游戲
19.2 模式定義
19.3 模式分析
19.3.1 備忘錄模式特點(diǎn)
19.3.2 備忘錄模式靜態(tài)建模
19.4 模式實(shí)現(xiàn)
19.4.1 白箱備忘錄模式實(shí)現(xiàn)
19.4.2 黑箱備忘錄模式實(shí)現(xiàn)
19.5 設(shè)計(jì)原則
19.6 使用場合
19.7 本章要點(diǎn)
20 高溫預(yù)警:觀察者模式
20.1 高溫預(yù)警系統(tǒng)
20.2 模式定義
20.3 模式分析
20.3.1 高溫預(yù)警過程分析
20.3.2 靜態(tài)建模
20.4 模式實(shí)現(xiàn)
20.4.1 創(chuàng)建抽象角色
20.4.2 具體主題實(shí)現(xiàn)
20.4.3 具體觀察者實(shí)現(xiàn)
20.4.4 讓系統(tǒng)開始運(yùn)行
20.5 設(shè)計(jì)原則
20.6 使用場合
20.7 本章要點(diǎn)
21 文檔編輯模式切換:狀態(tài)模式
21.1 文檔編輯器中的模式切換
21.2 模式定義
21.3 模式分析
21.4 模式實(shí)現(xiàn)
21.4.1 創(chuàng)建空白的上下文環(huán)境
21.4.2 創(chuàng)建狀態(tài)接口
21.4.3 完善上下文內(nèi)容
21.4.4 創(chuàng)建具體狀態(tài)
21.4.5 客戶端測試
21.5 設(shè)計(jì)原則
21.6 使用場合
21.7 本章要點(diǎn)
22 商場促銷:策略模式
22.1 商場促銷商品
22.2 模式定義
22.3 模式分析
22.3.1 商品促銷中的策略分析
22.3.2 策略模式靜態(tài)建模
22.4 模式實(shí)現(xiàn)
22.4.1 創(chuàng)建策略接口
22.4.2 創(chuàng)建具體策略
22.4.3 創(chuàng)建上下文環(huán)境
22.4.4 消費(fèi)者購物消費(fèi)
22.4.5 策略模式與條件判斷的比較
22.5 設(shè)計(jì)原則
22.6 使用場合
22.7 本章要點(diǎn)
23 生活行為:模板方法模式
23.1 每日的生活行為
23.2 模式定義
23.3 模式分析
23.3.1 生活行為分析
23.3.2 靜態(tài)建模
23.4 模式實(shí)現(xiàn)
23.4.1 建立算法骨架
23.4.2 創(chuàng)建具體實(shí)現(xiàn)
23.4.3 客戶端測試
23.5 設(shè)計(jì)原則
23.6 使用場合
23.7 本章要點(diǎn)
24 公司層級結(jié)構(gòu):訪問者模式
24.1 公司層級結(jié)構(gòu)
24.2 模式定義
24.3 模式分析
24.3.1 組合模式回顧
24.3.2 訪問者模式分析
24.3.3 訪問者模式靜態(tài)建模
24.4 模式實(shí)現(xiàn)
24.4.1 員工實(shí)現(xiàn)
24.4.2 訪問者實(shí)現(xiàn)
24.4.3 讓員工接收訪問者
24.4.4 客戶端測試
24.4.5 擴(kuò)展的思考
24.5 設(shè)計(jì)原則
24.6 使用場合
24.7 本章要點(diǎn)
25 設(shè)計(jì)模式總結(jié)
25.1 為什么學(xué)習(xí)設(shè)計(jì)模式
25.1.1 讓工作變得輕松
25.1.2 讓程序變得優(yōu)雅
25.1.3 要學(xué)會(huì)設(shè)計(jì)原則
25.2 設(shè)計(jì)模式六大原則
25.2.1 "開-閉"原則(OCP)
25.2.2 單一職責(zé)原則(SRP)
25.2.3 依賴倒置原則(DIP)
25.2.4 接口隔離原則(ISP)
25.2.5 里氏替換原則(LSP)
25.2.6 迪米特法則(LoD)
25.3 勤于思考,善于總結(jié)
25.3.1 專心、用心、信心
25.3.2 做一個(gè)有思想的人
25.4 實(shí)踐出真知
26 MVC設(shè)計(jì)實(shí)踐
26.1 讓你的思維活躍起來
26.2 如何設(shè)計(jì)MVC架構(gòu)
26.3 第一個(gè)MVC框架--Joker MVC
26.3.1 環(huán)境介紹
26.3.2 MVC起航
26.3.3 Joker MVC架構(gòu)分析
26.3.4 Joker MVC架構(gòu)實(shí)現(xiàn)
26.3.5 發(fā)布joker-1.0部署測試
章節(jié)摘錄
版權(quán)頁:插圖:就國內(nèi)的計(jì)算機(jī)軟件狀況來看,軟件行業(yè)已經(jīng)得到蓬勃發(fā)展,取得了令人矚目的成績,政府部門也是大力扶持本地軟件企業(yè),為軟件行業(yè)的發(fā)展提供更多優(yōu)惠政策,讓軟件企業(yè)獲得良好的發(fā)展空間。自從計(jì)算機(jī)軟件技術(shù)興起以來,從一兩個(gè)人的團(tuán)隊(duì)發(fā)展成為擁有幾千人的知名企業(yè)在國內(nèi)并不少見,國內(nèi)軟件行業(yè)的興盛是顯而易見的。計(jì)算機(jī)軟件作為一門學(xué)科,從其誕生到現(xiàn)在不過短短的半個(gè)世紀(jì),隨著技術(shù)的不斷創(chuàng)新,已經(jīng)慢慢融入我們的日常生活中。如今移動(dòng)互聯(lián)網(wǎng)的發(fā)展更是為計(jì)算機(jī)軟件行業(yè)帶來發(fā)展的又一次絕佳機(jī)遇,在其他很多高科技領(lǐng)域中,也都要依附于計(jì)算機(jī)軟件技術(shù)的支撐。因此,計(jì)算機(jī)軟件行業(yè)的前景在眾多行業(yè)中還是比較有優(yōu)勢的,無論現(xiàn)在還是將來。然而,隨著計(jì)算機(jī)軟件的不斷發(fā)展,更多的資源都在向其靠攏,泡沫也勢必會(huì)逐漸形成,計(jì)算機(jī)軟件的泛濫也應(yīng)當(dāng)引起我們的注意。如何不被社會(huì)所淘汰,讓自己或者企業(yè)處于不敗的地位?這就需要掌握獨(dú)門絕技,打好穩(wěn)固的根基。1.2引入設(shè)計(jì)模式的必要性“物以稀為貴”,這是一句至理名言。越是稀有的東西,它的價(jià)值就會(huì)越高;同樣的東西變得多了,其自身價(jià)值就會(huì)貶值。在計(jì)算機(jī)軟件行業(yè)長足發(fā)展的今天,越來越多的軟件企業(yè)出現(xiàn)在我們面前,軟件行業(yè)的從業(yè)人員也變得越來越復(fù)雜,有的是計(jì)算機(jī)專業(yè),也有的是轉(zhuǎn)行過來的。計(jì)算機(jī)軟件技術(shù)再也不是那種高深莫測的未知領(lǐng)域,已經(jīng)開始向大眾化普及,各種從業(yè)人員的專業(yè)素養(yǎng)良莠不齊,計(jì)算機(jī)軟件的質(zhì)量更是難以得到保證。因此,引入軟件設(shè)計(jì)模式將成為企業(yè)或者個(gè)人可持續(xù)發(fā)展的必然選擇。只有專業(yè),才能在這個(gè)領(lǐng)域做得最好,為社會(huì)、企業(yè)和個(gè)人帶來更多的價(jià)值。讀本書的人一般是已經(jīng)從事了一定軟件開發(fā)工作的人員,設(shè)計(jì)模式就是當(dāng)你在實(shí)踐當(dāng)中遇到問題但又不知如何解決時(shí)想得到的解決方式。
編輯推薦
《軟件秘笈:設(shè)計(jì)模式那點(diǎn)事》:23個(gè)有趣的故事、23個(gè)軟件模式、·有所思·有所想·有所悟、·打下理論根基·應(yīng)用得心應(yīng)手。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載