注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡軟件與程序設計程序設計綜合設計模式:可復用面向?qū)ο筌浖幕A

設計模式:可復用面向?qū)ο筌浖幕A

設計模式:可復用面向?qū)ο筌浖幕A

定 價:¥35.00

作 者: (美)Erich Gamma等著;李英軍等譯;李英軍譯
出版社: 機械工業(yè)出版社
叢編項: 計算機科學叢書
標 簽: 面向?qū)ο?/td>

ISBN: 9787111075752 出版時間: 2000-09-01 包裝: 膠版紙
開本: 26cm 頁數(shù): 254 字數(shù):  

內(nèi)容簡介

  本書并不是一本介紹面向?qū)ο蠹夹g(shù)或設計的書,目前已有不少好書介紹面向?qū)ο蠹夹g(shù)或設計。本書假設你至少已經(jīng)比較熟悉一種面向?qū)ο缶幊陶Z言,并且有一定的面向?qū)ο笤O計經(jīng)驗。當我們提及“類型”和“多態(tài)”,或“接口”繼承與“實現(xiàn)”繼承的關系時,你應該對這些概念了然于胸,而不必迫不及待地翻閱手頭的字典。 另外,這也不是一篇高級專題技術(shù)論文,而是一本關于設計模式的書,它描述了在面向?qū)ο筌浖O計過程中針對特定問題的簡潔而優(yōu)雅的解決方案。設計模式捕獲了隨時間進化與發(fā)展的問題的求解方法,因此它們并不是人們從一開始就采用的設計方案。它們反映了不為人知的重新設計和重新編碼的成果,而這些都來自軟件開發(fā)者為了設計出靈活可復用的軟件而長時間進行的艱苦努力。設計模式捕獲了這些解決方案,并用簡潔易用的方式表達出來。 設計模式并不要求使用獨特的語言特性,也不采用那些足以使你的朋友或老板大吃一驚的神奇的編程技巧。所有的模式均可以用標準的面向?qū)ο笳Z言實現(xiàn),這也許有時會比特殊的解法多費一些功夫,但是為了增加軟件的靈活性和可復用性,多做些工作是值得的。 一旦你理解了設計模式并且有了一種“Aha!”(而不是“Huh?”)的應用經(jīng)驗和體驗后,你將用一種非同尋常的方式思考面向?qū)ο笤O計。你將擁有一種深刻的洞察力,以幫助你設計出更加靈活的、模塊化的、可復用的和易理解的軟件—這也是你為何著迷于面向?qū)ο蠹夹g(shù)的源動力,不是嗎? 當然還有一些提示和鼓勵:第一次閱讀此書時你可能不會完全理解它,但不必著急,我們在起初編寫這本書時也沒有完全理解它們!請記住,這不是一本讀完一遍就可以束之高閣的書。我們希望你在軟件設計過程中反復參閱此書,以獲取設計靈感。 我們并不認為這組設計模式是完整的和一成不變的,它只是我們目前對設計的思考的記錄。因此我們歡迎廣大讀者的批評與指正,無論從書中采用的實例、參考,還是我們遺漏的已知應用,或應該包含的設計模式等方面。你可以通過Addison-Wesley寫信給我們,或發(fā)送電子郵件到:design-patterns@cs.uiuc.edu。你還可以發(fā)送郵件“send design pattern source”到design-patterns-source@cs.uiuc.edu獲取書中的示例代碼部分的源代碼。 另外我們有一個專門的網(wǎng)頁報道最新的消息與更新: http://st-www.cs.uiuc.edu/users/patterns/DPBook/DPBook.html. E.G. 于加州Mountain View R.H. 于...[更多內(nèi)容]

作者簡介

  Erich Gamma:在蘇黎世大學獲得計算機科學博士學位,曾供職于瑞士聯(lián)邦銀行、Taligent、OTI公司。現(xiàn)在是Eclipse項目的主要技術(shù)負責人之一。Richard Helm:在墨爾本大學獲得計算機科學博士學位,曾在IBMT.J.Watson擔任研究員?,F(xiàn)在IBM咨詢集團供職。Ralph Johnson:在康內(nèi)爾大學獲得計算機科學博士學位,目前是伊利諾伊大學教授,在模式,重構(gòu)等領域均有很高造詣。John Vlissides:在斯坦福大學獲得計算機科學博士學位,目前是IBMT.J.Watson研究中心的研究員。除本書外,他還是Addison-Wesley“軟件模式”叢書的顧問。

圖書目錄

第1章  引言  1
1.1   什么是設計模式  2
1.2   Smalltalk MVC中的設計模式 3
1.3   描述設計模式 4
1.4   設計模式的編目 5
1.5   組織編目 7
1.6   設計模式怎樣解決設計問題 8
1.6.1   尋找合適的對象 8
1.6.2   決定對象的粒度 9
1.6.3   指定對象接口  9
1.6.4   描述對象的實現(xiàn) 10
1.6.5   運用復用機制 13
1.6.6   關聯(lián)運行時刻和編譯時刻的結(jié)構(gòu) 15
1.6.7   設計應支持變化 16
1.7   怎樣選擇設計模式 19
1.8   怎樣使用設計模式 20
第2章   實例研究:設計一個文檔編輯器 22
2.1   設計問題 23
2.2   文檔結(jié)構(gòu) 23
2.2.1   遞歸組合 24
2.2.2   圖元 25
2.2.3   組合模式 27
2.3   格式化 27
2.3.1   封裝格式化算法 27
2.3.2   Compositor和Composition 27
2.3.3   策略模式 29
2.4   修飾用戶界面 29
2.4.1   透明圍欄 29
2.4.2   Monoglyph 30
2.4.3   Decorator 模式 32
2.5   支持多種視感標準 32
2.5.1   對象創(chuàng)建的抽象 32
2.5.2   工廠類和產(chǎn)品類 33
2.5.3    Abstract Factory模式 35
2.6   支持多種窗口系統(tǒng) 35
2.6.1   我們是否可以使用Abstract Factory模式 35
2.6.2   封裝實現(xiàn)依賴關系 35
2.6.3   Window和WindowImp 37
2.6.4   Bridge 模式 40
2.7   用戶操作 40
2.7.1   封裝一個請求 41
2.7.2   Command 類及其子類 41
2.7.3   撤消和重做 42
2.7.4   命令歷史記錄 42
2.7.5   Command 模式 44
2.8   拼寫檢查和斷字處理 44
2.8.1   訪問分散的信息 44
2.8.2   封裝訪問和遍歷 45
2.8.3   Iterator類及其子類 46
2.8.4   Iterato
2.8.5   遍歷和遍歷過程中的動作 48
2.8.6   封裝分析 48
2.8.7   Visitor 類及其子類 51
2.8.8   Visitor 模式 52
2.9   小結(jié) 53
第3章   創(chuàng)建型模式 54
3.1   Abstract Factory(抽象工廠)—對象創(chuàng)建型模式 57
3.2   Builder(生成器)—對象創(chuàng)建型模式 63
3.3   Factory Method(工廠方法)—對象創(chuàng)建型模式 70
3.4   Prototype(原型)—對象創(chuàng)建型模式 87
3.5   Singleton(單件)—對象創(chuàng)建型模式 84
3.6   創(chuàng)建型模式的討論 89
第4章   結(jié)構(gòu)型模式 91
4.1   Adapter(適配器)—類對象結(jié)構(gòu)型模式 92
4.2   Bridge(橋接)—對象結(jié)構(gòu)型模式 100
4.3   Composite(組成)—對象結(jié)構(gòu)型模式 107
4.4   Decorator(裝飾)—對象結(jié)構(gòu)型模式 115
4.5   FACADE(外觀)—對象結(jié)構(gòu)型模式 121
4.6   Flyweight(享元)—對象結(jié)構(gòu)型模式 128
4.7   Proxy(代理)—對象結(jié)構(gòu)型模式 137
4.8   結(jié)構(gòu)型模式的討論 144
4.8.1   Adapter與Bridge 144
4.8.2   Composite、Decorator與Proxy 145
第5章   行為模式 147
5.1   CHAIN OF RESPONSIBIL ITY(職責鏈)—對象行為型模式 147
5.2   COMMAND(命令)—對象行為型模式 154
5.3   INTERPRETER(解釋器)—類行為型模式 162
5.4   ITERATOR(迭代器)—對象行為型模式 171
5.5   MEDIATOR(中介者)—對象行為型模式 181
5.6   MEMENTO(備忘錄)—對象行為型模式 188
5.7   OBSERVER(觀察者)—對象行為型模式 194
5.8   STATE(狀態(tài))—對象行為型模式 201
5.9   STRATEGY(策略)—對象行為型模式 208
5.10   TEMPLATE METHOD(模板方法)—類行為型模式 214
5.11   VISITOR(訪問者)—對象行為型模式 218
5.12   行為模式的討論 228
5.12 1   封裝變化 228
5.12.2   對象作為參數(shù) 228
5.12.3   通信應該被封裝還是被分布 229
5.12.4   對發(fā)送者和接收者解耦 229
5.12.5   總結(jié) 231
第6章   結(jié)論 232
6.1   設計模式將帶來什么 232
6.2   一套通用的設計詞匯  232
6.3   書寫文檔和學習的輔助手段 232
6.4   現(xiàn)有方法的一種補充 233
6.5   重構(gòu)的目標 233
6.6   本書簡史 234
6.7   模式界 235
6.8   Alexander 的模式語言 235
6.9   軟件中的模式 236
6.10   邀請參與 237
6.11   臨別感想 237
附錄A   詞匯表 238
附錄B   圖示符號指南 241
附錄C   基本類 244
參考文獻 249

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.autoforsalebyowners.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號