內容簡介
《Java設計模式》麵嚮有一定Java語言基礎和一定編程經驗的讀者,重點探討在Java程序設計中怎樣使用著名的23個設計模式。《Java設計模式》的目的是讓讀者不僅學習怎樣在軟件設計中使用好設計模式,更重要的是讓讀者通過學習使用設計模式深刻地理解麵嚮對象的設計思想,以便更好地使用麵嚮對象語言解決設計中的諸多問題。
《Java設計模式》可以作為計算機相關專業高年級學生以及研究生的教材,也可以作為軟件項目管理人員、軟件開發工程師等專業人員的參考用書,可登錄清華大學齣版社網站下載書中的示例代碼。
內頁插圖
目錄
第1章 設計模式簡介
1.1 什麼是設計模式
1.2 設計模式的起源
1.3 “23個設計模式”的來源
1.4 學習設計模式的重要性
1.5 閤理使用模式
1.6 什麼是框架
1.7 使用Java描述模式的必要性
1.8 設計模式資源
第2章 麵嚮對象的幾個基本原則
2.1 麵嚮抽象原則
2.2 開�脖趙�則
2.3 多用組閤少用繼承原則
2.4 高內聚�駁婉詈顯�則
第3章 UML類圖簡介
3.1 類
3.2 接口
3.3 泛化關係
3.4 關聯關係
3.5 依賴關係
3.6 實現關係
3.7 注釋
第4章 命令模式
4.1 概述
4.2 模式的結構與使用
4.3 命令接口中的撤銷方法
4.4 宏命令
4.5 命令模式的優點
4.6 適閤使用命令模式的情景
4.7 命令模式與JavaAWT事件
4.8 應用舉例——模擬小電器
第5章 觀察者模式
5.1 概述
5.2 模式的結構與使用
5.3 觀察者模式中的“推”數據與“拉”數據
5.4 觀察者與多主題
5.5 觀察者模式的優點
5.6 適閤使用觀察者模式的情景
5.7 JavaAPI中的Observable類與Observer接口
5.8 應用舉例——統計文本中的單詞和數字
第6章 裝飾模式
6.1 概述
6.2 模式的結構與使用
6.3 使用多個裝飾者
6.4 裝飾模式相對繼承機製的優勢
6.5 裝飾模式的優點
6.6 適閤使用裝飾模式的情景
6.7 JavaIO與裝飾模式
6.8 應用舉例——讀取單詞錶
第7章 策略模式
7.1 概述
7.2 模式的結構與使用
7.3 策略模式的優點
7.4 適閤使用策略模式的情景
7.5 策略模式相對繼承機製的優勢
7.6 應用舉例——加密、解密文件
第8章 適配器模式
8.1 概述
8.2 模式的結構與使用
8.3 適配器模式的優點
8.4 適閤適配器模式的情景
8.5 單接口適配器
8.6 應用舉例——Iterator接口與Enumeration接口
第9章 責任鏈模式
9.1 概述
9.2 模式的結構與使用
9.3 責任鏈模式的優點
9.4 適閤使用責任鏈模式的情景
9.5 應用舉例——計算階乘
第10章 外觀模式
10.1 概述
10.2 模式的結構與使用
10.3 外觀模式的優點
10.4 適閤使用外觀模式的情景
10.5 應用舉例——解析文件
第11章 迭代器模式
11.1 概述
11.2 模式的結構與使用
11.3 迭代器的next()方法與集閤的get(intindex)方法
11.4 迭代器模式的優點
11.5 適閤使用迭代器模式的情景
11.6 應用舉例——使用多個集閤存儲對象
第12章 中介者模式
12.1 概述
12.2 模式的結構與使用
12.3 中介者模式的優點
12.4 適閤使用中介者模式的情景
12.5 使用中介者模式處理組件交互
12.6 應用舉例——模擬交通信號燈
第13章 工廠方法模式
13.1 概述
13.2 模式的結構與使用
13.3 Java集閤框架與工廠模式
13.4 工廠方法模式的優點
13.5 適閤使用工廠方法模式的情景
13.6 應用舉例——創建藥品對象
第14章 抽象工廠模式
14.1 概述
14.2 模式的結構與使用
14.3 工廠方法模式的優點
14.4 適閤使用抽象工廠模式的情景
14.5 應用舉例——存款憑證
第15章 生成器模式
15.1 概述
15.2 模式的結構與使用
15.3 生成器模式的優點
15.4 適閤使用生成器模式的情景
15.5 應用舉例——日曆牌
第16章 原型模式
16.1 概述
16.2 java.lang.Object類的clone方法
16.3 Serializable接口與剋隆對象
16.4 模式的結構與使用
16.5 原型模式的優點
16.6 適閤原型模式的情景
16.7 應用舉例——剋隆容器
第17章 單件模式
17.1 概述
17.2 模式的結構與使用
17.3 單件模式的優點
17.4 適閤單件模式的情景
17.5 應用舉例——多綫程爭冠軍
第18章 組閤模式
18.1 概述
18.2 模式的結構與使用
18.3 組閤模式的優點
18.4 適閤組閤模式的情景
18.5 應用舉例——蘋果樹的重量及蘋果的價值
第19章 橋接模式
19.1 概述
19.2 模式的結構與使用
19.3 橋接模式的優點
19.4 適閤橋接模式的情景
19.5 應用舉例——製作電視節目
第20章 狀態模式
20.1 概述
20.2 模式的結構與使用
20.3 狀態切換
20.4 共享狀態
20.5 狀態模式的優點
20.6 適閤狀態模式的情景
20.7 應用舉例——模擬咖啡自動售貨機
第21章 模闆方法模式
21.1 概述
21.2 模式的結構與使用
21.3 鈎子方法
21.4 模闆方法模式的優點
21.5 適閤模闆方法模式的情景
21.6 應用舉例——數據庫的連接與記錄查詢
第22章 代理模式
22.1 概述
22.2 模式的結構與使用
22.3 遠程代理
22.4 虛擬代理
22.5 代理模式的優點
22.6 適閤代理模式的情景
22.7 應用舉例——使用遠程窗口閱讀文件
第23章 享元模式
23.1 概述
23.2 模式的結構與使用
23.3 享元模式的優點
23.4 適閤享元模式的情景
23.5 應用舉例——創建化閤物
第24章 訪問者模式
24.1 概述
24.2 模式的結構與使用
24.3 雙重分派
24.4 訪問者模式的優點
24.5 適閤訪問模式的情景
24.6 應用舉例——評價體檢錶
第25章 備忘錄模式
25.1 概述
25.2 模式的結構與使用
25.3 使用內部類創建備忘錄
25.4 備忘錄模式的優點
25.5 適閤使用備忘錄模式的情景
25.6 應用舉例——使用備忘錄實現undo操作
第26章 解釋器模式
26.1 概述
26.2 解釋器模式的結構與使用
26.3 解釋器模式的優點
26.4 適閤使用解釋器模式的情景
26.5 應用舉例——簡單的英文翻譯器
第27章 模式分類
27.1 創建型模式
27.2 行為型模式
27.3 結構型模式
參考文獻
精彩書摘
10.1概述
一個大的係統一般都由若乾個子係統構成,每個子係統包含多個類,這些類協同閤作為用戶提供所需要的功能。一個客戶程序中的某個類的實例如果直接和子係統的多個類的實例打交道完成某項任務,就使客戶程序中的類和子係統類有過多的依賴關係,比如,郵政係統負責郵寄包裹的子係統包含Check、weight和Transport類。Check類的實例負責對包裹進行安全檢查,weight類的實例負責根據包裹的重量計算郵資,Transport類的實例負責為包裹選擇運輸工具。一個要郵寄包裹的用戶如果直接和負責郵寄包裹的子係統的類打交道,就必須首先讓Check類的實例對包裹進行檢查,然後再讓weight類的實例為包裹計算郵資,最後讓Transport類實例為包裹選擇一個運輸工具,這就使用戶非常不方便,如圖10.1所示。
外觀模式是簡化用戶和子係統進行交互的成熟模式,外觀模式的關鍵是為子係統提供一個稱作外觀的類,該外觀類的實例負責和子係統中類的實例打交道。當用戶想要和子係統中的若乾個類的實例打交道時,可以代替地和子係統的外觀類的實例打交道。比如,對於前麵敘述的郵寄包裹的子係統,可以為其提供一個外觀類ServetForClient,當用戶想郵寄包裹時,可以直接和ServerForClient的實例打交道,用戶不必瞭解郵寄包裹的子係統中類的細節,如圖10.2所示。
前言/序言
設計模式是從許多優秀的軟件係統中總結齣的成功的、可復用的設計方案,已經被成功應用於許多係統的設計中。目前,麵嚮對象程序設計已經成為軟件設計開發領域的主流,而學習使用設計模式無疑非常有助於軟件開發人員使用麵嚮對象語言開發齣易維護、易擴展、易復用的代碼。本書麵嚮有一定Java語言基礎和一定編程經驗的讀者,重點探討在Java程序設計中怎樣使用著名的“23個設計模式”。本書的目的是讓讀者不僅學習怎樣在軟件沒計過程中使用好設計模式,更重要的是讓讀者通過學習深刻地理解麵嚮對象的設計思想,以便更好地使用麵嚮對象語言解決設計中的諸多問題。
本書共27章,前3章為學習設計模式的一些必要知識,第4至第26章探討、講解“23個設計模式”,最後一章為模式分類。第1章簡單介紹模式的基本概念、起源以及學習設計模式的基本方法。第2章為麵嚮對象的一些基本原則,瞭解這些基本原則,有助於理解後續章節中的模式。第3章簡單介紹瞭UML中的類圖。第4至第26章的每章都包含四部分重要的內容,第一部分為一個概述,用易於理解的問題講解使用模式的動機;第二部分是模式的結構,在這部分用一個易於理解的示例講解模式的結構;第三部分闡述模式的優點和使用場景;第四部分結閤實際問題,使用設計模式給齣一個有一定難度和實用價值的示例。
為瞭說明一個模式的核心實質,本書精心研究瞭針對每個模式的示例,以便讓讀者結閤這樣的示例能更好地理解和使用模式。本書的全部示例由作者編寫完成,並在JDK1.6環境下編譯通過。可登錄清華大學齣版社網站下載書中的示例代碼,本書示例代碼及相關內容僅供學習Java設計模式使用,不得以任何方式抄襲齣版。
希望本書能對讀者學習和使用設計模式有所幫助,並請讀者批評指正。
Java設計模式/21世紀高等學校計算機專業實用規劃教材 下載 mobi epub pdf txt 電子書