您的浏览历史

设计模式:可复用面向对象软件的基础

  • 定价 : ¥35.00
  • 会员价 : ¥26.25(75折)
促销活动
  • [本书]参加机械工业出版社华章公司满58元赠书活动
精彩评论

基本信息

编辑推荐

本书是《设计模式:可复用面向对象软件的基础》最新印次的图书,欢迎购买!

推荐阅读

内容简介回到顶部↑

本书结合设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别有用。本书适合大学计算机专业的学生、研究生及相关人员参考。

[strong][font color="#FF0000"]书评[/font][/strong][font color="#FF0000"]

“这本众人期待的确达到了预期的全部效果。该书云集了经过时间考验的可用设计。作者从多年的面向对象设计经验中精选了23个模式,这构成了该书的精华部份,每一个精益求精的优秀程序员都应拥有这本《设计模式》。”--Larry O'Brien, Software Development

“[设计模式]在实用环境下特别有用,因为它分类描述了一组设计良好,表达清楚的面向对象软件设计模式。整个设计模式领域还很新,本书的四位作者也许已占据了这个领域造诣最深的专家中的半数,因而他们定义模式的方法可以作为后来者的榜样。如果要知道怎样恰当定义和描述设计模式,我们应该可以从他们那儿获得启发”--Steve Billow, Journal of Object-Oriented Programming

“总的来讲,这本书表达了一种极有价值的东西。对软件设计领域有着独特的贡献,因为它捕获了面向对象设计的有价值的经验,并且用简洁可复用的形式表达出来。它将成为我在寻找面向对象设计思想过程中经常翻阅的一本书﹕这正是复用的真实含义所在,不是吗﹖”--Sanjiv Gossain, Journal of Object-Oriented Programming [/font]

作译者回到顶部↑

本书提供作译者介绍


Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides 都是国际公认的面向软件领域的专家。Gamma,瑞士苏黎世大学计算机科学博士,现任瑞士苏黎士国际对象公司软件技术中心的技术主管。Helm,澳大利亚墨尔本大学计算机科学博士,目前在IBM公司工作,并在澳大利亚开创了IBM面向对象技术研究分部。Johnson,康奈尔大学博士,目前执教于伊利诺大学计算机科学系。Vlissides,斯坦福大学电子工程博士,目前是IBM T.J.Watson研究中心的研究人员。
.. << 查看详细

作者: Erich Gamma
Erich Gamma在苏黎世大学获得计算机科学博士学位,曾供职于瑞士联邦银行、Taligent、OTI公司。现在是Eclipse项目的主要技术负责人之一。 .. << 查看详细

[同作者作品]
设计模式:可复用面向对象软件的基础(英文版)
设计模式:可复用面向对象软件的基础
设计模式--可复用面向对象软件的基础(双语版)

作者: John Vlissides
John Vlissides在斯坦福大学获得计算机科学博士学位,目前是IBM T.J.Watson研究中心的研究员。除本书外,他还是Addison-Wesley“软件模式”丛书的顾问。.. << 查看详细

[同作者作品]
设计模式:可复用面向对象软件的基础(英文版)
设计模式:可复用面向对象软件的基础
设计模式--可复用面向对象软件的基础(双语版)

作者: Ralph Johnson
Ralph Johhson在康奈尔大学获得计算机科学博士学位,目前是伊利诺伊大学教授.在模式、重构等领域均有很高造诣。.. << 查看详细

[同作者作品]
设计模式:可复用面向对象软件的基础(英文版)
设计模式:可复用面向对象软件的基础
设计模式--可复用面向对象软件的基础(双语版)

目录回到顶部↑

目 录
序言
前言
读者指南
第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 描述对象的实现 10
1.6.5 运用复用机制 13
1.6.6 关联运行时刻和编译时刻的
结构 15
1.6.7 设计应支持变化 16
1.7 怎样选择设计模式 19

前言回到顶部↑

前 言

本书并不是一本介绍面向对象技术或设计的书,目前已有不少好书介绍面向对象技术或设计。本书假设你至少已经比较熟悉一种面向对象编程语言,并且有一定的面向对象设计经验。当我们提及“类型”和“多态”,或“接口”继承与“实现”继承的关系时,你应该对这些概念了然于胸,而不必迫不及待地翻阅手头的字典。

另外,这也不是一篇高级专题技术论文,而是一本关于设计模式的书,它描述了在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。设计模式捕获了随时间进化与发展的问题的求解方法,因此它们并不是人们从一开始就采用的设计方案。它们反映了不为人知的重新设计和重新编码的成果,而这些都来自软件开发者为了设计出灵活可复用的软件而长时间进行的艰苦努力。设计模式捕获了这些解决方案,并用简洁易用的方式表达出来。

设计模式并不要求使用独特的语言特性,也不采用那些足以使你的朋友或老板大吃一惊的神奇的编程技巧。所有的模式均可以用标准的面向对象语言实现,这也许有时会比特殊的解法多费一些功夫,但是为了增加软件的灵活性和可复用性,多做些工作是值得的。

一旦你理解了设计模式并且有了一种“Aha!”(而不是“Huh?”)的应用经验和体验后,你将用一种非同寻常的方式思考面向对象设计。你将拥有一种深刻的洞察力,以帮助你设计出更加灵活的、模块化的、可复用的和易理解的软件—这也是你为何着迷于面向对象技术的源动力,不是吗?

当然还有一些提示和鼓励:第一次阅读此书时你可能不会完全理解它,但不必着急,我们在起初编写这本书时也没有完全理解它们!请记住,这不是一本读完一遍就可以束之高阁的书。我们希望你在软件设计过程中反复参阅此书,以获取设计灵感。

我们并不认为这组设计模式是完整的和一成不变的,它只是我们目前对设计的思考的记录。因此我们欢迎广大读者的批评与指正,无论从书中采用的实例、参考,还是我们遗漏的已知应用,或应该包含的设计模式等方面。你可以通过Addison-Wesley写信给我们,或发送电子邮件到:design-patterns@cs.uiuc.edu。你还可以发送邮件“send design pattern source”到design-patterns-source@cs.uiuc.edu获取书中的示例代码部分的源代码。

另外我们有一个专门的网页报道最新的消息与更新:

http://st-www.cs.uiuc.edu/users/patterns/DPBook/DPBook.html.

E.G. 于加州Mountain View

序言回到顶部↑

所有结构良好的面向对象软件体系结构中都包含了许多模式。实际上,当我评估一个面向对象系统的质量时,所使用的方法之一就是要判断系统的设计者是否强调了对象之间的公共协同关系。在系统开发阶段强调这种机制的优势在于,它能使所生成的系统体系结构更加精巧、简洁和易于理解,其程度远远超过了未使用模式的体系结构。
模式在构造复杂系统时的重要性早已在其他领域中被认可。特别地,Christopher Alexander和他的同事们可能最先将模式语言(pattern language)应用于城市建筑领域,他的思想和其他人的贡献已经根植于面向对象软件界。简而言之,软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。
在本书中,Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides介绍了设计模式的原理,并且对这些设计模式进行了分类描述。因此,该书做出了两个重要的贡献:首先,它展示了模式在建造复杂系统过程中所处的角色;其次,它为如何引用一组精心设计的模式提供了一个实用方法,以帮助实际开发者针对特定应用问题使用适当的模式进行设计。
我曾荣幸地有机会与本书的部分作者一同进行体系结构设计工作,从他们身上我学到了许多东西,并相信通过阅读该书你同样也会受益匪浅。
Rational 软件公司首席科学家 Grady Booch

评论交流

共有34人开贴评论  38人参与评论  29人参与打分 查看

19人
 65%
用户平均打分
我要写评论 help如何参与评论和打分
4人
 13%
4人
 13%
2人
 6%
0人
 0%

intruderlx

三级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-12-29 16:37:00
设计模式的经典之书,不过head first更容易懂且生动。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

zhiful
一级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-8-31 10:05:00
从上大学二年级开始到现在,认识这本书已经10年了,读了也不下20遍, 每读一遍总能够让人激动, 总会有新的收获...

借用侯老师的一句话, 在所有有关设计模式领域, 毫无疑问这本书是:“日了东方, 唯我独尊, 是学习设计模式的葵花宝典“

关于学习设计模式, 我也说说自己的经验
我是上大二的时候开始学习设计模式的, 那时候编码/项目的经验少, 书中很多地方自然难于理解, 不过也没有关系, 软件架构的经验本来就是一个日积月累的过程, 可以一次理解一点儿。但是至少得把书中所说的例子一个一个自己trail一遍吧。
大概是大三的时候, 开始学习STL源代码, 把vc自带的STL代码浏览了一遍, 这算是第一次系统学习一个非常有价值的系统(库)吧, STL里面使用了非常多的模式。事实上当你使用模式的观点去学习,总结, 分析STL源码的时候, 你会发现这对理解模式是非常有意义的, 反之亦然。
工作之后,再也不缺少看代码/写代码/分析总结代码的经验了, 我的体会是大部分(几乎所有)系统中都布满一个个的设计模式, 这是让人非常开心的一件事情, 因为我理解一个庞大的系统又多了一个视角, 总结分析代码也容易得多了, 做逆向工程也容易得多了(由代码写文档)。

我相信许多对软件设计感兴趣的朋友应该都和我有相似的体会, 设计模式的确是一个好东东。对于初学者, 建议带着模式的观点去系统学习一些系统, 看看一个设计良好的系统中作大师们是怎么运用设计模式的(比如说STL源码, openSolaris, linux kernal, unix kernel etc)。

顺便推荐另外两本好书《企业的架构模式》与《重构》
回复 ( 1条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得1支)  扔鸡蛋 (得0个)

qf-bupt

二级评论员
该会员在china-pub购买过此书 精彩书评
评价等级:  
发表于:2007-6-25 11:06:00
确实是经典好书,看了之后感觉进步很大,翻译的也就那样吧,其实比我预想的已经好多了,至少用心读起来大部分还是可以看懂的,中文版的书还能指望它咋样啊,谁让自己英文不好呢,英文好的话直接读原版贝
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

msyye
一级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-2-5 17:16:00
期待好久了,终于到手了,赞一个!
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

baige_008
一级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-2-5 12:36:00
因为经典,所以阅读
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)
我要写评论
查看所有评论交流(共34条)