設(shè)計(jì)模式

出版時(shí)間:2007-3  出版社:機(jī)械工業(yè)出版社  作者:伽瑪  頁(yè)數(shù):374  譯者:李英軍  
Tag標(biāo)簽:無(wú)  

內(nèi)容概要

  《設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》(雙語(yǔ)版)是軟件設(shè)計(jì)領(lǐng)域中的經(jīng)典著作,對(duì)軟件技術(shù)的發(fā)展起了重要作用?!对O(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》(雙語(yǔ)版)結(jié)合設(shè)計(jì)實(shí)例從面向?qū)ο蟮脑O(shè)計(jì)中精選出23個(gè)設(shè)計(jì)模式,總結(jié)了面向?qū)ο笤O(shè)計(jì)中最有價(jià)值的經(jīng)驗(yàn),并且用簡(jiǎn)潔可復(fù)用的形式表達(dá)出來(lái)?!对O(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》(雙語(yǔ)版)分類描述了一組設(shè)計(jì)良好、表達(dá)清楚的軟件設(shè)計(jì)模式,這些模式在實(shí)用環(huán)境下特別有用?!对O(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》(雙語(yǔ)版)適合大學(xué)計(jì)算機(jī)專業(yè)的學(xué)生、研究生及相關(guān)人員參考。

書籍目錄

PrefaceForewordGuide to Readers1 Introduction1.1 What Is a Design Pattern?1.2 Design Patterns in Smalltalk MVC1.3 Describing Design Patterns1.4 The Catalog of Design Patterns1.5 Organizing the Catalog1.6 How Design Patterns Solve Design Problems1.7 How to Select a Design Pattern1.8 How to Use a Design Pattern2 A Case Study: Designing a Document Editor2.1 Design Problems2.2 Document Structure2.3 Formatting2.4 Embellishing the User Interface2.5 Supporting Multiple Look-and-Feel Standards2.6 Supporting Multiple Window Systems2.7 User Operations2.8 Spelling Checking and Hyphenation2.9 SummaryDesign Pattern Catalog3 Creational PatternsAbstract FactoryBuilderFactory MethodPrototypeSingletonDiscussion of Creational Patterns4 Structural PatternsAdapterBridgeCompositeDecoratorFacadeFlyweightProxyDiscussion of Structural Patterns5 Behavioral PatternsChain of ResponsibilityCommandInterpreterItcratorMediatorMementoObserverStateStrategyTemplate MethodVisitorDiscussion of Behavioral Patterns6 Conclusion6.1 What to Expect from Design Patterns6.2 A Brief History6.3 The Pattern Community6.4 An Invitation6.5 A Parting ThoughtA GlossaryB Guide to NotationB.1 Class DiagramB.2 Object DiagramB.3 Interaction DiagramC Foundation ClassesC.1 ListC.2 IteratorC.3 ListIteratorC.4 PointC.5 RectBibliographyIndex

編輯推薦

  《設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》(雙語(yǔ)版)是引導(dǎo)讀者走入軟件設(shè)計(jì)迷宮的指路明燈,凝聚了軟件開發(fā)界幾十年的設(shè)計(jì)經(jīng)驗(yàn)。四位頂尖的面向?qū)ο箢I(lǐng)域?qū)<冶M心挑選了最具價(jià)值的23種設(shè)計(jì)實(shí)踐,加以分類整理和命名,并用簡(jiǎn)潔而易于重用的形式表達(dá)出來(lái)。這23個(gè)模式逐漸成為開發(fā)界進(jìn)行技術(shù)交流所必備的基本知識(shí)和語(yǔ)匯?!  对O(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》(雙語(yǔ)版)已經(jīng)成為廣大技術(shù)人員的圣經(jīng)和經(jīng)典,一直名列Amazon和各大書店銷售榜前列。十年來(lái)不斷重印,銷售逾七萬(wàn)冊(cè)。

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    設(shè)計(jì)模式 PDF格式下載


用戶評(píng)論 (總計(jì)9條)

 
 

  •     非常不錯(cuò)的一本書...........................
      非常不錯(cuò)的一本書...................................非常不錯(cuò)的一本書...........非常不錯(cuò)的一本書........
  •     花了一個(gè)月時(shí)間,把英文版大致過(guò)了一遍。由于有一些失敗的編程經(jīng)歷,大致還是能夠理解作者的用意的。個(gè)人喜歡先看motivation,structure和sample code,再回過(guò)頭看討論。
      
      有點(diǎn)遺憾的是書中對(duì)各個(gè)模式的橫向?qū)Ρ茸龅貌粔?。有些地方容易混淆,有些?chǎng)合的名詞太過(guò)空洞?;蛟S只有在反復(fù)閱讀和實(shí)踐中去領(lǐng)悟吧。
      
      
  •     可復(fù)用的軟件,好!
      面向?qū)ο蟮能浖?,好?br />   我的代碼應(yīng)該盡可能的用設(shè)計(jì)模式,嗯,等等。
      
      之所以出此感慨是因?yàn)樽罱淮蔚腸ode review我用了state pattern,結(jié)果reviewer說(shuō)不直觀。我郁悶了一會(huì)兒,試圖教育他什么是state pattern,為什么好。不過(guò)最后還是改回了if...else來(lái)實(shí)現(xiàn)。
      
      又看了公司(Google)的一個(gè)Web Application Framework,文檔里說(shuō)這是用了Command Pattern。我一看,好,用了模式的肯定是好東東。
      
      現(xiàn)在我的感覺是如果是寫Library、Framework什么的,應(yīng)該用設(shè)計(jì)模式。寫Application,理解設(shè)計(jì)模式可以幫助學(xué)習(xí)Framework。不過(guò)Application本身的代碼未必要用設(shè)計(jì)模式,因?yàn)樵O(shè)計(jì)模式是適合需要重用的代碼,很多Application的代碼并不好復(fù)用。
  •     非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)非常不錯(cuò)
  •      兩年前的面向?qū)ο笳n程,要求我們讀這本書,當(dāng)時(shí)沒太看懂,只是簡(jiǎn)單的應(yīng)付了一下作業(yè),將自己要講的3個(gè)模式囫圇吞棗地看了.當(dāng)時(shí)講composite模式的時(shí)候,還記得被黃震春老師批評(píng),我正好理解反了。。
      
       今年暑假我再次看此書,多了兩年的編程經(jīng)歷,一年的實(shí)習(xí)經(jīng)歷,忽然覺得簡(jiǎn)單了很多。在郵箱找到了兩年前我當(dāng)時(shí)在臺(tái)上講composite模式的ppt,看了幾頁(yè)就立馬發(fā)現(xiàn),我確實(shí)搞反了。
      
       這本20年前的神作,雖然很多人說(shuō)晦澀難懂,我現(xiàn)在覺得其實(shí)還好,沒想像中的那么難理解,也沒想像中的那么枯燥無(wú)味,認(rèn)真看還是能看的。
      
       書中的各種模式可能還需要自己在接下來(lái)的編程中逐漸去融會(huì)貫通。但是這幾天讀完了全書,一本兩年前看不懂,一直令我感到畏懼的書,今天終于被我拿下了,還是難以隱藏心中的喜悅之情,所以短短寫一兩百字紀(jì)念一下~
  •     之前看過(guò)若干本設(shè)計(jì)模式的書,大都是矯柔造作的例子,長(zhǎng)篇累牘的廢話,不清不楚的論述。往往翻看數(shù)頁(yè)仍然不知所云,云里霧里。
      
      相較而言,本書對(duì)于模式的論述可謂拳拳到肉,酣暢淋漓。所采用的例子也是從現(xiàn)實(shí)項(xiàng)目中抽取出來(lái)的,更加貼近設(shè)計(jì)模式的現(xiàn)實(shí)使用場(chǎng)景。快哉!快哉!
      
      本以為知識(shí)密度如此大的書勢(shì)必枯燥的緊,但沒想到翻看數(shù)百頁(yè)卻欲罷不能。
  •     23個(gè)設(shè)計(jì)最基礎(chǔ)的設(shè)計(jì)模式,每每讀起如醍醐灌頂!不愧為經(jīng)典之作!
      
      
      創(chuàng)建型
      1. Abstract Factory:提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對(duì)象的接口,而無(wú)須指定它們具體的類
      2. Builder:將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示
      3. Factory Method:定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化那一個(gè)類。Factory Method使得一個(gè)類的實(shí)例化延遲到其子類
      4. Prototype:用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過(guò)拷貝這些原型創(chuàng)建新的對(duì)象
      5. Singleton:保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局訪問點(diǎn)
      
      結(jié)構(gòu)型
      1. Adapter:將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。Adapter模式使得原本由于接口不兼容而不能在一起工作的那些類可以一起工作
      2. Bridge:將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化
      3. Composite:將對(duì)象組合成樹形結(jié)構(gòu)以表示"部分-整體"的層次結(jié)構(gòu)。Composite使得用戶對(duì)單個(gè)對(duì)象和組合對(duì)象的使用具有一致性
      4. Decorator:動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)。就增加功能來(lái)說(shuō),Decorator模式比生成子類給為靈活
      5. Facade:為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,F(xiàn)acade模式定義了一個(gè)高層接口,這個(gè)接口使得子系統(tǒng)更加容易使用
      6. Flyweight:運(yùn)行共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象
      7. Proxy:為其它對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問
      
      行為型
      1. Chain of Responsibility:使多個(gè)對(duì)象都有機(jī)會(huì)處理請(qǐng)求,從而避免請(qǐng)求的發(fā)送者和接收者之間的耦合關(guān)系。將這些對(duì)象連成一條鏈,并沿著這條鏈傳遞該請(qǐng)求,直到有一個(gè)對(duì)象處理它為止
      2. Command:將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使你可用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化;對(duì)請(qǐng)求排隊(duì)或記錄請(qǐng)求日志,以及支持可撤銷的操作
      3. Interpreter:給定一個(gè)語(yǔ)言,定義它的文法的一種表示,并定義一個(gè)解釋器,這個(gè)解釋器使用該表示來(lái)解釋語(yǔ)言中的句子
      4. Iterator:提供一種方法順序訪問一個(gè)聚合對(duì)象中的各個(gè)元素,而又不暴露該對(duì)象的內(nèi)部表示
      5. Mediator:用一個(gè)中介對(duì)象來(lái)封裝一系列的對(duì)象交互。中介者使各對(duì)象不需要顯式的相互引用,從而使其耦合松散,而且可以獨(dú)立地改變它們之間的交互
      6. Memento:在不破壞封裝的前提下,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在對(duì)象之外保存這個(gè)狀態(tài)。這樣以后就可將該對(duì)象恢復(fù)到原先保存的狀態(tài)
      7. Observer:定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新
      8. State:允許一個(gè)對(duì)象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為。對(duì)象看起來(lái)似乎修改了它的類
      9. Strategy:定義一系列的算法,把他們一個(gè)個(gè)封裝起來(lái),并且使它們可互相替換。本模式使得算法可獨(dú)立與使用它的客戶而變化
      10. Template Method:定義一個(gè)操作中的算法骨架,而將一些步驟延遲到子類中。Template Method使得子類可以不改變一個(gè)算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟
      11. Visitor:表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用于這些元素的新操作
      
  •     如書中所說(shuō)“設(shè)計(jì)面向?qū)ο筌浖容^困難,而設(shè)計(jì)可復(fù)用的面向?qū)ο筌浖透永щy”,很多人在設(shè)計(jì)面向?qū)ο筌浖r(shí)往往無(wú)從下手,勉強(qiáng)設(shè)計(jì)的結(jié)果也很難擴(kuò)展和維護(hù),這本書告訴你,大師是怎么設(shè)計(jì)的。
      
      本書以一個(gè)文檔編輯器的示例開始引入常見的設(shè)計(jì)模式,并做了簡(jiǎn)單的說(shuō)明。后面各章按類別:創(chuàng)建型、結(jié)構(gòu)型、行為,詳細(xì)分析了各個(gè)模式,并配以樣例代碼。本書有一點(diǎn)比較好的是,他把幾個(gè)有關(guān)的模式放在一起,對(duì)比他們的特點(diǎn)并說(shuō)明他們之間的關(guān)系,這樣一來(lái),即使你對(duì)某個(gè)模式只有一點(diǎn)模糊的概念,完全可以把這本書當(dāng)字典,查到你想使用的模式和相關(guān)的模式。
      
      當(dāng)然有一點(diǎn)覺得不大友好,為啥樣例代碼是 C++ 和 smalltalk?C++ 是一個(gè)主流的編程語(yǔ)言,用這個(gè)說(shuō)的過(guò)去,雖然我對(duì) C++ 一點(diǎn)都不熟悉,smalltalk 雖然有點(diǎn)名氣,但是畢竟用的不廣泛,估計(jì)沒多少人能看懂。我還是建議使用 Java,一門語(yǔ)言就足夠了。
  •   nb!!!
 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7