设计模式

出版时间:2002-3-1  出版社:机械工业出版社  作者:伽玛  页数:395  
Tag标签:无  

内容概要

  Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves. The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns: Elements of Reusable Object-Oriented Software as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.

作者简介

作者:(美国)伽玛 等

书籍目录

ForewordI Guide to Readers 1 Introduction 2 A Case Study: Designing a Document EditorII Design Pattern Catalog 3 Creational Patterns 4 Structural Patterns 5 Behavioral Patterns 6 ConclusionAppendix A: GlossaryAppendix B: Guide to NotationAppendix C: Foundation ClassesBibliographyIndex

编辑推荐

《设计模式:可复用面向对象软件的基础》(英文版)是经典原版书库中的设计模式可复用面向对象软件的基础分册。

图书封面

图书标签Tags

评论、评分、阅读与下载


    设计模式 PDF格式下载


用户评论 (总计36条)

 
 

  •   什么英文原版语言难懂,去看中文版,我看过中文版,那个翻译才叫一个晦涩难懂。英文原版反而非常浅显易懂
  •   本书是设计模式书籍的鼻祖, 很有阅读价值。但注意了各位, 如果你的英语不行,那么本书的字体可以让你的眼睛又增加几度; 本书的字体太小了,纸张过的去,但纸表面不光滑,很粗糙, 很能体现了机工“本色”, 哈哈哈哈。
  •   从《代码大全》中了解到设计模式这东西,然后从图书馆借到了这本书。初读一遍,感觉挺复杂的,并不是里面的代码写的复杂难以看懂,而是对于我们这样的初学者来说,那种构建代码的思路很少用到,即使碰巧用到了,也不了解这样写代码的好处,设计模式介绍了构建代码的各种常用的思路,并且阐述了每一个模式的使用范围。后来,在卓越上购买了一本设计模式的英文版,又读一遍。还是不甚了解,直到最近写一个小桌面应用程序,在用到MVC架构的时候,有几个类属于不同的Model,却需要相互通信,如果用Controller来进行通信的话,很麻烦。最后我们使用了Observer模式来通信。这样所有需要订阅消息的类都可以Attach到消息源上。自我感觉,设计模式是面向工程应用的,要在工程中慢慢的学习。
  •   怎么纸质和盗版的差不多。印的不是很清楚,虽然还过得去。字很小。
  •   能看原版的,一定要看原版,好书!完毕。
  •   手册就应该是小开本,适合翻阅影印质量不是特别好,有的插图是重新描过的
  •   书不错,字体稍小,看时间长了累眼睛。
  •   看中文版看不下去了,其实英文版挺好的。
  •   纸张和印刷质量都不怎么样
  •   2014.1.9 下单,显示 预计 2014.1.10 到。然后 10 号没到。10 号晚上我上网查了一下,居然显示配送成功!2014.1.10 20:06 配送成功!!11 号联系客服。13 号下午 3:30 收到包裹。很小一本书。小点没关系,拿着顺手。可是这个纸质,这个印刷,我是第一次遇到。稍微比盗版要好一点。总体来说, 快递不行,纸质不好,印刷不佳,但是最后要给客服点赞!
  •   书不错。就是英文版本有点看的不是特别明白,还得中文版本啊。
  •   经典不愧为经典 值得买
  •   一直没有好机会看,买的英文,刚开始有点费时间~ 经典 慢慢咀嚼 吧
  •   也是经典作品,可以放着
  •   小开本的,很喜欢这本书,这次优惠活动就购入了,慢慢啃。
  •   学习设计模式的必看书籍
  •   很好的内容,就让包装和印刷给害了,不建议买。
  •   这是本设计模式的经典丛书。好好看看。
  •   GoF经典大作,受益匪浅
  •   绝对经典的模式书
  •   东西还行吧
  •   英文原版 书很经典
  •   书很好的哦
  •   工具书,趁活动囤了
  •   书挺小,字还好
  •   设计模式
  •   国外经典书,gang of four
  •   便宜不贵的好书
  •     在支持函数式的动态语言里, 绝大多数design pattern都变的简单直接,以至于你甚至感觉不到它们的存在。
      
      在面向对象的限制之下,敞开的大门不走,偏要爬窗户。
      
      比如strategy pattern的本意是通过composition而非inheritance,使能够在运行时(runtime)动态绑定某对象的成员方法。
      
      就像游戏里某个actor能够在各种attack() 方法之间自由的切换,如使用手枪,手雷,狙。
      
      在动态语言里直接把attack函数赋值给actor就可以了,根本没有什么pattern可言。
      
      在Java/C++里却tm必须把attack函数包装成behavior object才能赋值给actor。真是脱了裤子放屁啊。
      
      command pattern也类似,可以参照以下Erlang的message passing。
      
      Google研院的Peter Norvig大叔总结了23个design pattern在lisp/python等函数式语言之下的对应物。
      
      引用如下
      
      =====================================================
      
      16 of 23 patterns are either invisible or simpler, due to:
      
       First-class types (6): Abstract-Factory, Flyweight, Factory-Method, State, Proxy, Chain-Of-Responsibility
      
       First-class functions (4): Command, Strategy, Template-Method, Visitor
      
       Macros (2): Interpreter, Iterator
      
       Method Combination (2): Mediator, Observer
      
       Multimethods (1): Builder
      
       Modules (1): Facade
      
      =====================================================
      
      总结:
      
      Design Pattern揭露了OOP系统本身的===> [丑陋] & [无可救药]
      
      
      
  •     
      TITLE: 设计模式——可复用面向对象软件的基础\\
      ENGLISH TITLE: Design Patterns, Elements of Reusable Object-Oriented Software\\
      AUTHOR: 软件界四人帮 (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)
      
      本书共讲了23个常用的设计模式。
      
      创建型模式
      
      1. 抽象工厂 (abstract factory)
      2. 生成器 (builder)
      3. 工厂方法 (factory method)
      4. 原型 (prototype)
      5. 单件 (singleton)
      
      结构型模式
      
      1. 适配器 (adapter)
      2. 桥接 (bridge)
      3. 组合 (composite)
      4. 装饰 (decorator)
      5. 外观/表面 (facade)
      6. 享元/轻量级共享对象 (flyweight)
      7. 代理 (proxy)
      
      行为模式
      
      1. 职责链 (Chain of responsibility)
      2. 命令 (command)
      3. 解释器 (interpreter)
      4. 迭代器 (iterator)
      5. 中介者 (mediator)
      6. 备忘录 (memento)
      7. 观察者 (observer)
      8. 状态 (state)
      9. 策略 (strategy)
      10. 模板方法 (template method)
      11. 访问者 (visitor)
      
      每个模式我都读了两遍,基本掌握了,剩下的就是练习。
      感觉收获很大,对分析现有的软件系统更有信心了。
      在实现自己的应用时,也会好好设计一番,看看能否用上一招半式。
      “针对接口编程,而不是针对实现编程。”这句话对我启发很大。
      
      本书是一本好书,但机械工业出版社翻译的中文版并不太好。
      可能由于翻译者的水平,一些专业术语翻译得不好。
      另外排版问题也不少:错别字,丢字,重复字,丢标点符号。这些低级错误应该有不下十处。
      
      2014-01-23 Thu
      
  •     真不知道看了多少遍我有勇气跟自己说我算是读过了. 期间也读了些其他讨论OOD的书, 这本算是最"干"的.
      
      更多时候那些模式不是自己刻意去使用的, 要嘛是从别人代码里"读出来的", 要嘛就是自己通过朴素的方法(分析->最直接的实现->重构)"渐渐浮现出来的", 自己刻意去套用的情况只出现在一开始乐此不疲地尝试各种模式的时候.
      
      对我而言, 获益有:
      1. 通过识别模式快速了解作者的意图;
      2. 方便交流(包括和自己对话), 简化了对"问题-设计-利弊"的描述, 为什么name是pattern的四要素, 一个name包含了太多的信息.
      3. SOLID原则记心间, 刻意地去忘掉具体的模式, 让设计原则在背后悄悄的影响着自己在设计实现中的一个个小决定.
  •     买了本。扔柜子里了。看了几页。结论。一页顶一本书。
      以后看吧。现在先把菜鸟的基础弄扎实再说。不难。不过现在用不着。
      不是说内容不难,而是把难得的东西用很简单的语言描述出来了。
      经典就是经典。国内的书真的太烂了。至今没看到一本号称经典能比得上国外的经典的。
  •     看到大家都说这本书好,怀着赤诚的心读了一把,发现写的真是晦涩难懂,作者完全没有考虑读者的感受,完全自己在一个尽的卖弄自己的技术,真是垃圾中的极品,真心不建议大家看这本书,我认为,真正的大师,应该用浅显易懂的语言解释深奥的道理,而作者显然没有理解的太深入,达不到这种境界,我知道肯定会有人喷我,毕竟被很多人奉为经典,在那里供为圣经,但不是我一个人有这感觉,我身边不少人都觉得写得很垃圾,相反看了其他的大话设计模式和headfirst设计模式之后,感觉好多了,所以我特意发帖来骂这本垃圾书
  •     很早以前就买了这本,当时看了几个模式就看不下去了,感觉很晦涩。
      现在看来是自己缺乏实际经验。其实23个模式都是从历史上很成功的项目里提炼总结出来(比如NEXTStep,也就是Steve Jobs二次创业时创立的公司NEXT的产品)。模式都是经验的总结,所以对于缺乏实际开发经验的人看起来就很难理解,一个if else的事为什么要用Responsibility Chain或 State模式解决?实话说,虽然看过一遍对很多模式都只停留在肤浅的理解上,真正掌握还得在实际项目里有意识的实践应用。
      引用篇尾引用建筑师C h r i s t o p h e r A l e x a n d e r所说:
      以一种松散的方式把一些模式串接在一起来建造建筑是可能的。这样的建筑仅仅是一些模式的堆砌,而不紧凑。这不够深刻。然而另有一种组合模式的方式,许多模式重叠在同一个物理空间里:这样的建筑非常紧凑,在一小块空间里集成了许多内涵;由于这种紧凑,它变得深刻。
  •     本书列举了经典的23个设计模式,给出这些设计模式的适用场景和示例代码。
      
      通读下来后有很多模式很快就给忘记了,只有些大概的思想:抽象、封装,这两个字如此沉重,以至于至今我都没有完全领会,只能在实践中慢慢琢磨了。
      
      所以我认为,设计模式一定要多实践,在实践中摸索各个模式的优势和不足。
  •     这就是书中的阳春白雪。当然,高人是一看就懂。
      
      前10遍,只懂几个模式;到20遍,似乎都懂了,但是放下书就不能自己构造一个出来;30遍后,至今没再看。书也看烂了,但是敝帚自珍。
      
      读者最好熟悉c++,以及一定的利用c++做开发的经历。否则,最好看别的类似的书。
      
      如果希望用oo做架构,认真反复阅读此书是大有裨益的。
      
      当然,如果理解了他的思想,你用c也可以做出同样的设计。心中有剑,万物皆可为剑。
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7