基本信息
- 原书名:Design Patterns:Elements of Reusable Object-Oriented software
- 原出版社: Addison Wesley/Pearson
- 作者: (美)Erich Gamma Richard Helm Ralph Johnson John Vlissides
- 译者: 李英军 马晓星 蔡敏 刘建中
- 丛书名: 计算机科学丛书
- 出版社:机械工业出版社
- ISBN:9787111075752
- 上架时间:2000-7-1
- 出版日期:2000 年6月
- 页码:254
- 版次:1-13
- 所属分类:计算机 > 软件工程及软件方法学 > 设计模式
教材 > 研究生/本科/专科教材 > 工学 > 计算机

编辑推荐
欢迎购买<a href="http://www.china-pub.com/computers/common/info.asp?id=25961" target="_blank">本书最新印次的图书</a>!
内容简介
作译者
本书作者均是国际公认的面向对象软件领域的专家。 Erich Gamma博士是瑞士苏黎士国际面向对象技术软件中心的技术主管。
Richard Helm博士是澳大利亚悉尼IBM顾问集团公司面向对象技术公司的成员。 Ralph
Johnson博士是Urbana-Champaign伊利诺大学计算机科学
目录
序言
前言
读者指南
第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