出版時間:2009-5 出版社:清華大學(xué)出版社 作者:耿祥義,張躍平 著 頁數(shù):279 字?jǐn)?shù):444000
Tag標(biāo)簽:無
前言
設(shè)計模式是從許多優(yōu)秀的軟件系統(tǒng)中總結(jié)出的成功的、可復(fù)用的設(shè)計方案,已經(jīng)被成功應(yīng)用于許多系統(tǒng)的設(shè)計中。目前,面向?qū)ο蟪绦蛟O(shè)計已經(jīng)成為軟件設(shè)計開發(fā)領(lǐng)域的主流,而學(xué)習(xí)使用設(shè)計模式無疑非常有助于軟件開發(fā)人員使用面向?qū)ο笳Z言開發(fā)出易維護(hù)、易擴(kuò)展、易復(fù)用的代碼。本書面向有一定Java語言基礎(chǔ)和一定編程經(jīng)驗(yàn)的讀者,重點(diǎn)探討在Java程序設(shè)計中怎樣使用著名的“23個設(shè)計模式”。本書的目的是讓讀者不僅學(xué)習(xí)怎樣在軟件沒計過程中使用好設(shè)計模式,更重要的是讓讀者通過學(xué)習(xí)深刻地理解面向?qū)ο蟮脑O(shè)計思想,以便更好地使用面向?qū)ο笳Z言解決設(shè)計中的諸多問題?! ”緯?7章,前3章為學(xué)習(xí)設(shè)計模式的一些必要知識,第4至第26章探討、講解“23個設(shè)計模式”,最后一章為模式分類。第1章簡單介紹模式的基本概念、起源以及學(xué)習(xí)設(shè)計模式的基本方法。第2章為面向?qū)ο蟮囊恍┗驹瓌t,了解這些基本原則,有助于理解后續(xù)章節(jié)中的模式。第3章簡單介紹了UML中的類圖。第4至第26章的每章都包含四部分重要的內(nèi)容,第一部分為一個概述,用易于理解的問題講解使用模式的動機(jī);第二部分是模式的結(jié)構(gòu),在這部分用一個易于理解的示例講解模式的結(jié)構(gòu);第三部分闡述模式的優(yōu)點(diǎn)和使用場景;第四部分結(jié)合實(shí)際問題,使用設(shè)計模式給出一個有一定難度和實(shí)用價值的示例?! 榱苏f明一個模式的核心實(shí)質(zhì),本書精心研究了針對每個模式的示例,以便讓讀者結(jié)合這樣的示例能更好地理解和使用模式。本書的全部示例由作者編寫完成,并在JDK1.6環(huán)境下編譯通過??傻卿浨迦A大學(xué)出版社網(wǎng)站下載書中的示例代碼,本書示例代碼及相關(guān)內(nèi)容僅供學(xué)習(xí)Java設(shè)計模式使用,不得以任何方式抄襲出版?! ∠M緯軐ψx者學(xué)習(xí)和使用設(shè)計模式有所幫助,并請讀者批評指正。
內(nèi)容概要
本書面向有一定Java語言基礎(chǔ)和一定編程經(jīng)驗(yàn)的讀者,重點(diǎn)探討在Java程序設(shè)計中怎樣使用著名的23個設(shè)計模式。本書的目的是讓讀者不僅學(xué)習(xí)怎樣在軟件設(shè)計中使用好設(shè)計模式,更重要的是讓讀者通過學(xué)習(xí)使用設(shè)計模式深刻地理解面向?qū)ο蟮脑O(shè)計思想,以便更好地使用面向?qū)ο笳Z言解決設(shè)計中的諸多問題。 本書可以作為計算機(jī)相關(guān)專業(yè)高年級學(xué)生以及研究生的教材,也可以作為軟件項(xiàng)目管理人員、軟件開發(fā)工程師等專業(yè)人員的參考用書,可登錄清華大學(xué)出版社網(wǎng)站(www.tup.tsinghua.edu.cn)下載書中的示例代碼。
書籍目錄
第1章 設(shè)計模式簡介第2章 面向?qū)ο蟮膸讉€基本原則第3章 UML類圖簡介第4章 命令模式第5章 觀察者模式第6章 裝飾模式第7章 策略模式第8章 適配器模式第9章 責(zé)任鏈模式第10章 外觀模式第11章 迭代器模式第12章 中介者模式第13章 工廠方法模式第14章 抽象工廠模式第15章 生成器模式第16章 原型模式第17章 單件模式第18章 組合模式第19章 橋接模式第20章 狀態(tài)模式第21章 模板方法模式第22章 代理模式第23章 享元模式第24章 訪問者模式第25章 備忘錄模式第26章 解釋器模式第27章 模式分類參考文獻(xiàn)
章節(jié)摘錄
10.1概述 一個大的系統(tǒng)一般都由若干個子系統(tǒng)構(gòu)成,每個子系統(tǒng)包含多個類,這些類協(xié)同合作為用戶提供所需要的功能。一個客戶程序中的某個類的實(shí)例如果直接和子系統(tǒng)的多個類的實(shí)例打交道完成某項(xiàng)任務(wù),就使客戶程序中的類和子系統(tǒng)類有過多的依賴關(guān)系,比如,郵政系統(tǒng)負(fù)責(zé)郵寄包裹的子系統(tǒng)包含Check、weight和Transport類。Check類的實(shí)例負(fù)責(zé)對包裹進(jìn)行安全檢查,weight類的實(shí)例負(fù)責(zé)根據(jù)包裹的重量計算郵資,Transport類的實(shí)例負(fù)責(zé)為包裹選擇運(yùn)輸工具。一個要郵寄包裹的用戶如果直接和負(fù)責(zé)郵寄包裹的子系統(tǒng)的類打交道,就必須首先讓Check類的實(shí)例對包裹進(jìn)行檢查,然后再讓weight類的實(shí)例為包裹計算郵資,最后讓Transport類實(shí)例為包裹選擇一個運(yùn)輸工具,這就使用戶非常不方便,如圖10.1所示。 外觀模式是簡化用戶和子系統(tǒng)進(jìn)行交互的成熟模式,外觀模式的關(guān)鍵是為子系統(tǒng)提供一個稱作外觀的類,該外觀類的實(shí)例負(fù)責(zé)和子系統(tǒng)中類的實(shí)例打交道。當(dāng)用戶想要和子系統(tǒng)中的若干個類的實(shí)例打交道時,可以代替地和子系統(tǒng)的外觀類的實(shí)例打交道。比如,對于前面敘述的郵寄包裹的子系統(tǒng),可以為其提供一個外觀類ServetForClient,當(dāng)用戶想郵寄包裹時,可以直接和ServerForClient的實(shí)例打交道,用戶不必了解郵寄包裹的子系統(tǒng)中類的細(xì)節(jié),如圖10.2所示。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載