出版時間:2007-3 出版社:人民郵電 作者:梅特斯克 頁數(shù):309 字數(shù):472000 譯者:龔波,趙彩琳,陳蓓
Tag標(biāo)簽:無
內(nèi)容概要
本書通過最新的Java特征和最佳實踐闡釋了經(jīng)典著作《設(shè)計模式》中介紹的23種基本設(shè)計模式。作者根據(jù)自己豐富的編程經(jīng)驗,用實際的Java 5.0程序、清晰的UML圖表以及引人入勝的實踐講述了每個模式。書中每章集中討論一種特定的模式,之后給出一些自我突破題,自我突破題或者啟發(fā)讀者思考,或者要求編寫代碼來解決某個問題,有助于更深入地理解書中的概念。 本書適合于各層次的Java開發(fā)人員閱讀。
作者簡介
Steven John Metsker是世界知名的面向?qū)ο蠹夹g(shù)專家,在設(shè)計模式方面造詣頗深。除本書外,他還出版了Building Parsers with java和Design Patternsin C#等著作,并為許多技術(shù)雜志撰寫了大量技術(shù)文章。
書籍目錄
第1章 設(shè)計模式介紹 11.1 為什么使用模式 11.2 為什么使用設(shè)計模式 21.3 為什么使用Java 21.4 UML 31.5 自我突破 31.6 本書的組織方式 31.7 歡迎來到Oozinoz公司 41.8 小結(jié) 5第一部分 接口型模式第2章 接口型模式介紹 82.1 接口和抽象類 82.2 接口和責(zé)任 92.3 小結(jié) 102.4 超越普通接口 10第3章 Adapter(適配器)模式 113.1 接口適配 113.2 類和對象適配器 143.3 為JTable適配數(shù)據(jù) 163.4 標(biāo)識適配器 203.5 小結(jié) 20第4章 Facade(外觀)模式 214.1 外觀類、工具類和示例類 214.2 重構(gòu)為Facade模式 224.3 小結(jié) 29第5章 Composite(組合)模式 305.1 常見的組合 305.2 Composite模式的遞歸特性 315.3 組合、樹和環(huán) 325.4 含有環(huán)的Composite模式 355.5 環(huán)的影響 385.6 小結(jié) 39第6章 Bridge(橋接)模式 406.1 經(jīng)典范例:普通抽象 406.2 從抽象到Bridge模式 426.3 應(yīng)用Bridge模式的驅(qū)動程序 436.4 數(shù)據(jù)庫驅(qū)動程序 446.5 小結(jié) 45第二部分 責(zé)任型模式第7章 責(zé)任型模式介紹 487.1 常見的責(zé)任型模式 487.2 通過可見性屬性控制責(zé)任 497.3 小結(jié) 507.4 超越普通責(zé)任型模式 50第8章 Singleton(單例)模式 518.1 Singleton模式機制 518.2 單例和線程 528.3 識別單例 538.4 小結(jié) 54第9章 Observer(觀察者)模式 559.1 經(jīng)典范例:GUI中的Observer模式 559.2 模型/視圖/控制器 589.3 維護Observable類對象 629.4 小結(jié) 64第10章 Mediator(中介者)模式 6510.1 經(jīng)典范例:GUI的Mediator模式 6510.2 利用Mediator模式管理關(guān)系完整性 6810.3 小結(jié) 73第11章 Proxy(代理)模式 7411.1 經(jīng)典范例:圖像代理 7411.2 重新思考圖像代理 7811.3 遠程代理 7911.4 動態(tài)代理 8411.5 小結(jié) 87第12章 Chain of Responsibility(責(zé)任鏈)模式 8812.1 常見的責(zé)任鏈 8812.2 重構(gòu)為Chain of Responsibility模式 8912.3 固定責(zé)任鏈 9112.4 不帶組合結(jié)構(gòu)的Chain of Responsibility模式 9212.5 小結(jié) 93第13章 Flyweight(享元)模式 9413.1 不變性 9413.2 提取享元中不可變的部分 9513.3 共享享元 9613.4 小結(jié) 99第三部分 構(gòu)造型模式第14章 構(gòu)造型模式介紹 10214.1 普通構(gòu)造的挑戰(zhàn) 10214.2 小結(jié) 10314.3 超越普通構(gòu)造 103第15章 Builder(生成器)模式 10515.1 常見的生成器 10515.2 根據(jù)約束構(gòu)造對象 10715.3 根據(jù)不完整信息構(gòu)造符合約束的對象 10915.4 小結(jié) 109第16章 Factory Method(工廠方法)模式 11016.1 經(jīng)典范例:迭代器 11016.2 識別Factory Method模式 11116.3 決定要實例化的對象 11116.4 并行層次結(jié)構(gòu)中的Factory Method模式 11216.5 小結(jié) 114第17章 Abstract Factory(抽象工廠)模式 11517.1 經(jīng)典范例:GUI工具包 11517.2 抽象工廠和工廠方法 11817.3 包和抽象工廠 12117.4 小結(jié) 122第18章 Prototype(原型)模式 12318.1 作為工廠的原型 12318.2 利用克隆進行原型化 12418.3 小結(jié) 126第19章 Memento(備忘錄)模式 12719.1 經(jīng)典范例:使用備忘錄實現(xiàn)撤銷操作 12719.2 備忘錄的持久性 13219.3 跨越會話的持久性備忘錄 13219.4 小結(jié) 135第四部分 操作型模式第20章 操作型模式介紹 13820.1 操作和方法 13820.2 簽名 13920.3 異常 13920.4 算法和多態(tài)性 14020.5 小結(jié) 14120.6 超越普通操作 141第21章 Template Method(模板方法)模式 14221.1 經(jīng)典范例:排序 14221.2 完成算法 14521.3 Template Method模式鉤子 14721.4 重構(gòu)為Template Method模式 14821.5 小結(jié) 149第22章 State(狀態(tài))模式 15022.1 狀態(tài)建模 15022.2 重構(gòu)為State模式 15322.3 使?fàn)顟B(tài)成為常量 15622.4 小結(jié) 157第23章 Strategy(策略)模式 15823.1 策略建模 15823.2 重構(gòu)為Strategy模式 16023.3 比較Strategy模式和State模式 16323.4 比較Strategy模式和Template Method模式 16423.5 小結(jié) 164第24章 Command(命令)模式 16524.1 經(jīng)典范例:菜單命令 16524.2 使用Command模式提供服務(wù) 16724.3 Command模式鉤子 16824.4 Command模式與其他模式的關(guān)系 16924.5 小結(jié) 170第25章 Interpreter(解釋器)模式 17125.1 Interpreter模式范例 17125.2 解釋器、語言和解析器 18025.3 小結(jié) 180第五部分 擴展型模式第26章 擴展型模式介紹 18426.1 面向?qū)ο笤O(shè)計原則 18426.2 Liskov替換原則(LSP) 18426.3 Demeter法則 18526.4 消除代碼壞味 18626.5 超越普通的擴展 18726.6 小結(jié) 187第27章 Decorator(裝飾器)模式 18827.1 經(jīng)典范例:流和輸出器 18827.2 函數(shù)包裝器 19327.3 與其他模式相關(guān)的Decorator模式 19927.4 小結(jié) 199第28章 Iterator(迭代器)模式 20028.1 常規(guī)迭代 20028.2 線程安全的迭代 20128.3 對組合結(jié)構(gòu)進行迭代 20628.3.1 組合枚舉器的深度 21128.3.2 枚舉葉節(jié)點 21228.4 小結(jié) 213第29章 Visitor(訪問者)模式 21429.1 Visitor模式機制 21429.2 常見的Visitor模式 21629.3 Visitor模式循環(huán) 22029.4 Visitor模式危機 22329.5 小結(jié) 224第六部分 附錄附錄A 指南 226A.1 從本書中學(xué)到更多 226A.2 理解設(shè)計模式的典型范例 226A.3 在實踐中應(yīng)用設(shè)計模式 227A.4 不斷地學(xué)習(xí) 228附錄B 參考答案 229B.1 接口型模式介紹(第2章) 229B.2 Adapter(適配器)模式(第3章) 230B.3 Façade(外觀)模式(第4章) 233B.4 Composite(組合)模式(第5章) 235B.5 Bridge(橋接)模式(第6章) 237B.6 責(zé)任型模式介紹(第7章) 239B.7 Singleton(單例)模式(第8章) 240B.8 Observer(觀察者)模式(第9章) 241B.9 Mediator(中介者)模式(第10章) 245B.10 Proxy(代理)模式(第11章) 248B.11 Chain of Responsibility(責(zé)任鏈)模式(第12章) 249B.12 Flyweight(享元)模式(第13章) 252B.13 構(gòu)造型模式介紹(第14章) 254B.14 Builder(生成器)模式(第15章) 255B.15 Factory Method(工廠方法)模式(第16章) 257B.16 Abstract Factory(抽象工廠)模式(第17章) 260B.17 Prototype(原型)模式(第18章) 262B.18 Memento(備忘錄)模式(第19章) 264B.19 操作模式介紹(第20章) 266B.20 Template Method(模板方法)模式(第21章) 267B.21 State(狀態(tài))模式(第22章) 268B.22 Strategy(策略)模式(第23章) 270B.23 Command(命令)模式(第24章) 271B.24 Interpreter(解釋器)模式(第25章) 274B.25 擴展型模式介紹(第26章) 275B.26 Decorator(裝飾器)模式(第27章) 276B.27 Iterator(迭代器)模式(第28章) 278B.28 Visitor(訪問者)模式(第29章) 279附錄C Oozinoz源代碼 282C.1 獲取和使用源代碼 282C.2 構(gòu)建Oozinoz源代碼 282C.3 使用JUnit測試代碼 282C.4 自己查找文件 283C.5 小結(jié) 283附錄D UML概覽 284D.1 類 284D.2 類間關(guān)系 285D.3 接口 286D.4 對象 287D.5 狀態(tài) 288詞匯表 289參考文獻 294索引 296設(shè)計模式列表 308
媒體關(guān)注與評論
最通俗實用的Java模式圖書!
編輯推薦
《Java設(shè)計模式》適合于各層次的Java開發(fā)人員閱讀。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載