注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件工程及軟件方法學設計模式:可復用面向對象軟件的基礎(精裝版)

設計模式:可復用面向對象軟件的基礎(精裝版)

設計模式:可復用面向對象軟件的基礎(精裝版)

定 價:¥99.00

作 者: [美] 埃里克·伽瑪 理查德·赫爾姆 拉爾夫·約翰遜 約翰·威利斯迪斯
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787111760238 出版時間: 2024-08-01 包裝: 精裝
開本: 16開 頁數(shù): 字數(shù):  

內容簡介

  本書結合設計實例從面向對象的設計中精選出23個設計模式, 總結了面向對象設計中最有價值的經驗, 并且用簡潔可復用的形式表達出來。本書分類描述了一組設計良好、 表達清楚的軟件設計模式, 這些模式在實用環(huán)境下特別有用。 本書適合大學計算機專業(yè)的學生、研究生及相關人員參考。

作者簡介

  埃里克·伽瑪(Erich Gamma) 在瑞士蘇黎世大學獲得計算機科學博士學位。他與Kent Beck合作開發(fā)了單元測試框架JUnit,并領導了Eclipse Java Development Tools項目。他還曾是IBM Rational Jazz項目的主要成員。2011年,Gamma以杰出工程師(Distinguished Engineer)的身份加入微軟Visual Studio團隊,領導微軟位于瑞士蘇黎世的實驗室。理查德·赫爾姆(Richard Helm) 在澳大利亞墨爾本大學獲得計算機科學博士學位,曾在IBM T. J. Watson擔任研究員,并在澳大利亞開創(chuàng)了IBM面向對象技術研究分部。拉爾夫·約翰遜(Ralph Johnson) 在美國康奈爾大學獲得計算機科學博士學位,伊利諾伊大學教授,在模式、重構等領域均有很高造詣。約翰·威利斯迪斯(John Vlissides) 在美國斯坦福大學獲得計算機科學博士學位,是IBM T. J. Watson研究中心的研究員。

圖書目錄

目錄
贊譽
序言
前言
讀者指南
第1章?引言?┊1
1.1 什么是設計模式?┊3
1.2 Smalltalk MVC中的設計模式?┊4
1.3 描述設計模式?┊6
1.4 設計模式的編目?┊7
1.5 組織編目?┊8
1.6 設計模式怎樣解決設計問題?┊10
1.6.1 尋找合適的對象?┊10
1.6.2 決定對象的粒度?┊11
1.6.3 指定對象接口?┊11
1.6.4 描述對象的實現(xiàn)?┊12
1.6.5 運用復用機制?┊15
1.6.6 關聯(lián)運行時和編譯時的結構?┊18
1.6.7 設計應支持變化?┊19
1.7 怎樣選擇設計模式?┊22
1.8 怎樣使用設計模式?┊24
第2章?實例研究:設計一個文檔?編輯器?┊25
2.1 設計問題?┊27
2.2 文檔結構?┊27
2.2.1 遞歸組合?┊28
2.2.2 圖元?┊29
2.2.3 組合模式?┊31
2.3 格式化?┊31
2.3.1 封裝格式化算法?┊31
2.3.2 Compositor和Composition?┊32
2.3.3 策略模式?┊33
2.4 修飾用戶界面?┊34
2.4.1 透明圍欄?┊34
2.4.2 MonoGlyph?┊35
2.4.3 Decorator模式?┊36
2.5 支持多種視感標準?┊37
2.5.1 對象創(chuàng)建的抽象?┊37
2.5.2 工廠類和產品類?┊38
2.5.3 Abstract Factory 模式?┊40
2.6 支持多種窗口系統(tǒng)?┊40
2.6.1 是否可以使用Abstract Factory模式?┊40
2.6.2 封裝實現(xiàn)依賴關系?┊41
2.6.3 Window和WindowImp?┊43
2.6.4 Bridge模式?┊46
2.7 用戶操作?┊46
2.7.1 封裝一個請求?┊47
2.7.2 Command類及其子類?┊47
2.7.3 撤銷和重做?┊48
2.7.4 命令歷史記錄?┊49
2.7.5 Command模式?┊50
2.8 拼寫檢查和斷字處理?┊50
2.8.1 訪問分散的信息?┊51
2.8.2 封裝訪問和遍歷?┊51
2.8.3 Iterator類及其子類?┊52
2.8.4 Iterator模式?┊55
2.8.5 遍歷和遍歷過程中的動作?┊55
2.8.6 封裝分析?┊56
2.8.7 Visitor類及其子類?┊59
2.8.8 Visitor模式?┊60
2.9 小結?┊60
第3章?創(chuàng)建型模式?┊62
3.1 Abstract Factory(抽象工廠)—對象創(chuàng)建型模式?┊66
3.2 Builder(生成器)—對象創(chuàng)建型模式?┊74
3.3 Factory Method(工廠方法)—對象創(chuàng)建型模式?┊81
3.4 Prototype(原型)—對象創(chuàng)建型模式?┊89
3.5 Singleton(單件)—對象創(chuàng)建型模式?┊96
3.6 創(chuàng)建型模式的討論?┊102
第4章?結構型模式?┊104
4.1 Adapter(適配器)—類對象結構型模式?┊106
4.2 Bridge(橋接)—對象結構型模式?┊115
4.3 Composite(組合)—對象結構型模式?┊123
4.4 Decorator(裝飾)—對象結構型模式?┊132
4.5 Facade(外觀)—對象結構型模式?┊139
4.6 Flyweight(享元)—對象結構型模式?┊146
4.7 Proxy(代理)—對象結構型模式?┊155
4.8 結構型模式的討論 ?┊164
4.8.1 Adapter與Bridge?┊164
4.8.2 Composite、Decorator與Proxy?┊164
第5章?行為型模式?┊166
5.1 Chain of Responsibility(職責鏈)—對象行為型模式?┊167
5.2 Command(命令)—對象行為型模式?┊175
5.3 Interpreter(解釋器)—類行為型模式?┊183
5.4 Iterator(迭代器)—對象行為型模式?┊193
5.5  Mediator(中介者)—對象行為型模式?┊205
5.6 Memento(備忘錄)—對象行為型模式?┊212
5.7 Observer(觀察者)—對象行為型模式?┊219
5.8 State(狀態(tài))—對象行為型模式?┊227
5.9 Strategy(策略)—對象行為型模式?┊234
5.10 Template Method(模板方法)— 類行為型模式?┊242
5.11 Visitor(訪問者)—對象行為型 模式?┊246
5.12 行為型模式的討論?┊256
5.12.1 封裝變化?┊256
5.12.2 對象作為參數(shù)?┊257
5.12.3 通信應該被封裝還是被分布?┊257
5.12.4 對發(fā)送者和接收者解耦?┊258
5.12.5 總結?┊260
第6章?結論?┊261
6.1 設計模式將帶來什么?┊262
6.1.1 一套通用的設計詞匯?┊262
6.1.2 書寫文檔和學習的輔助手段?┊263
6.1.3 現(xiàn)有方法的一種補充?┊263
6.1.4 重構的目標?┊264
6.2 本書簡史?┊265
6.3 模式界?┊266
6.3.1 Alexander的模式語言?┊266
6.3.2 軟件中的模式?┊267
6.4 邀請參與?┊267
6.5 臨別感想?┊268
附錄A?詞匯表?┊269
附錄B?圖示符號指南?┊273
附錄 C?基本類?┊277
參考文獻?┊284

本目錄推薦

掃描二維碼
Copyright ? 讀書網 ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號