基本信息
- 原书名:Design Patterns Java Workbook
- 原出版社: Addison Wesley/Pearson
- 作者: (美)Steven John Metsker
- 译者: 龚波 冯军 程群梅 等
- 丛书名: Sun公司核心技术丛书
- 出版社:机械工业出版社
- ISBN:9787111183952
- 上架时间:2006-3-23
- 出版日期:2006 年3月
- 开本:16开
- 页码:322
- 版次:1-1
- 所属分类:计算机 > 软件工程及软件方法学 > 设计模式
计算机 > 软件与程序设计 > JAVA(J#) > Java

编辑推荐
设计模式是资深程序员们总结出来的一种可重用的、针对面向对象软件设计的解决方案,而《设计模式Java手册》借助Java语言为读者讲解了GOF《设计模式》中的全部23种设计模式。
《设计模式Java手册》可以作为软件项目管理人员、软件开发工程师等专业人员的指导用书,也可作为高等院校计算机及相关专业学生的参考书。
内容简介
计算机书籍
设计模式是资深程序员们总结出来的一种可重用的、针对面向对象软件设计的解决方案,而本书借助Java语言为读者讲解了GoF《设计模式》中的全部23种设计模式。在本书中,这23种设计模式被组织成五类,它们分别是:接口型模式、责任型模式、构造型模式、操作型模式以及扩展型模式。本书的五个部分分别讲解了这五类设计模式,以帮助读者领会设计模式的思想及精华,然后再将它们融会贯通、灵活应用到自己的开发过程中。.
本书可以作为软件项目管理人员、软件开发工程师等专业人员的指导用书,也可作为高等院校计算机及相关专业学生的参考书。
本书透彻讲解了经典的《设计模式:可复用面向对象软件的基础》一书涵盖的23种基本设计模式。本书将这些设计模式分成五类:接口型模式、责任型模式、构造型模式、操作型模式,以及扩展型模式。书中对各个模式进行详细的讲解,并借助UML图例和Java代码来演示这些模式的应用方法,另外还提供了一些实用的例子及有关设计模式的习题、思考题,以启迪读者的思路,使读者在边做边学中提高应用设计模式的实践能力。..
本书的后面给出了各章节“自我突破”思考题的参考答案。读者可以先经过思考给出自己的答案,然后再与书后的参考答案作比较,这样读者将能够充分理解设计模式在Java应用程序开发中的角色,并能够提高自己在实际工作中应用设计模式的能力。...
作译者
目录
序.
前言
第1章 模式概述
1.1 为什么使用模式
1.2 为什么要应用设计模式
1.3 为什么使用Java
1.4 为什么使用UML
1.5 为什么说本书是一本手册
1.6 本书的组织方式
1.7 欢迎来到Oozinoz公司
1.8 源代码免责声明
1.9 小结
第一部分 接口型模式
第2章 接口型模式介绍
2.1 普通的接口
2.2 接口和责任
2.3 在接口中加入常量
2.4 小结
2.5 普通接口无法提供的内容
译者序
本书借助Java语言为读者讲解了GoF的全部23种设计模式。本书把这23种设计模式组织成五类:接口型模式,责任型模式,构造型模式,操作型模式以及扩展型模式。本书分五个部分细致讲解了这五类设计模式。
每个部分的开头一章都会介绍Java语言内在支持的各种技术,以及这些技术的不足;随后各章将会对本类各个模式进行详细的讲解,通过列举一些应用实例,借助UML图例和Java代码来演示这些模式的应用方法,同时,本书还为读者留下了一些编程或设计方面的思考题来帮助读者举一反三。..
本书的附录A为读者学习设计模式给出了一些具体建议。附录B给出了本书中思考题的参考答案。这些参考答案只是给了一种合理的解决方法,而不是唯一的。读者可以先经过思考给出自己的答案,然后再与书后的参考答案作比较。附录C简要描述了UML建模语言。之前不了解UML的读者在阅读了这节内容之后就可以看懂本书中的UML图例。
实践出真知!本书的最大特点就是便于边学边做。我们期望读者在阅读此书的时候也能够做到边学边做,这样才能加深自己对设计模式的理解,提高自己应用设计模式的能力。
在本书的翻译过程中,龚波、冯军和程群梅作出了最大的贡献,其他对本书翻译给予热情指导的还有:熊杰颍、李红玲、严亚军、陈蓓、易向东、徐小梅、’张文敏等人,感谢他们的热心帮助和大力支持。
我们欢迎读者朋友将自己的意见和建议及时反馈给我们,通过电子邮件发送至wfstudio@vip.sina.com。我们乐意和您一起探讨设计模式相关技术问题,共同进步。...
前言
自从那次初次会面之后,在这本书的写作过程中,Paul一直给予我大力的支持,直到这本书出版。在这个项目的早期,Paul曾邀请软件模式系列图书的编辑John Vlissides一起审查这个图书项目。John评价说Paul应该全力支持这个项目。在后来的写书过程中,John的话深深地印在了我的脑海中。
John Vlissides当然也是《设计模式》一书的四个作者之一。John与其他合作者——Erich Gamma,Ralph Johnson,以及Richard Helm——的那本书完全是本书的基石。在写书的过程中,我几乎每天都要参考《设计模式》一书,我一点儿也没有夸大那本书的作用。
另外,我还参考了其他许多书籍,本书后面的参考文献分别将它们一一列出。特别值得一提的是,我参考了《The Unified Modeling Language User Guide》(Booch,Rumbaugh,and Jacobson 1999,中文版《UML用户指南》已由机械工业出版社引进出版——编注)一书,阅读了其中对UML的详细解释。为了准确地描述Java相关内容,我几乎每天都参考了《Java in a Nutshell》(Flanagan 1999b)一书。另外,我还参考了《Patternsin Java》(Grand 1998)和《Java Design Patterns》(Cooper 2000)这两本书。..
在写书的这几个月里,我还在一家金融服务机构工作。该机构在许多地方都有分部。当这本书初稿完成的时候,我开了一门指导课程,专门以这本书为教材。当时,我在Richmond和Virginia教这门课程;而我的同事TimSnyder和BillTmdell在其他地方教这门课程。我想在这里谢谢我的这两位同事以及听过这门课的学生们,谢谢他们给予了我灵感,也谢谢他们将自己的见解告诉我。特别地,我还要感谢Srinivasarao Katepalli、Brad Hughes、Thiaga Manian、Randy Fields、Macon Pegram、Joe Paulchell、Ron DiFrango、Ritch Linklater、Patti Richards以及Ben Lewis,谢谢他们给予我的帮助和建议。我要感谢我的朋友Bill Wake和Gagan Kanjlia在写作早期帮我审阅这本书,以及Kiran Raghunathan在写作后期给予我帮助。最后,我还要感谢我的朋友Jeff Damukaitis,他给了我一些不错的建议。
在这本书的写作过程中,Paul Becker安排了许多出色的评审老师来指导我写作。我要再次感谢John Vlissides对这本书的审阅。他每次审阅总能指出需要改进的关键之处,我看得出他是真的喜欢这本书。我要感谢Luke Hohmann,Bob Hanmer,Robert Martin,以及Joshua Kerievsky等人,他们在不同阶段帮助过我,是他们的努力使得这本书更好。我要感谢Joshua Engel,他总是能以一种温文尔雅的方式来表达自己尖锐的观点。最后,我要感谢Rebecca Wirfs-Brock,他给了我许多非常有价值的建议,包括建议我重新组织本书。在写书伊始,我并没有特意将那些重要且易于理解的模式安排在书的前面。正是听从了Rebecca的建议以及在本书所有审阅者的帮助下,这本书才变得更加出色。...
Steve Metsker(Steve.Metsker@acm.org)
序言
——一本杰明·富兰克林
在本书中,Steve John Metsker为读者提供了非常丰富的有关设计模式的内容:书中不仅讲述了设计模式,还为读者提供了大量的代码实例,以及许多的思考题;完成这些思考题将帮助读者更加深入地理解设计模式。本书中的代码用于一家虚构的焰火制品公司,该公司除了生产销售焰火制品以外还对外提供焰火表演服务。这些代码实例比起以往常用的ATM机器的例子有趣多了;而且,读者在学习设计模式的过程中还可以了解有关焰火制品的知识。这本书不仅诱人而且有趣!另外,由于本书还描述了每种设计模式是如何应用于并扩展Java语言结构的,因而读者通过阅读此书还可以深入了解Java语言!
模式就是做事的方法,亦即实现某个目标的途径。设计模式就是利用面向对象技术实现某个目标的方法。该技术包括类,方法,继承,以及接口。每种模式都被概括为一个名字。如果同事之间都了解设计模式,那么他们的工作效率将会更高——因为他们都熟悉这些词汇,交流起来就会更加容易!这样开发人员之间就可以自由地讨论他们的意图,而不再苦于找不到合适的词汇用于交流。而对于那些习惯于应用设计模式的开发人员而言,有了通用的模式术语之后,他们的代码将会变得更力口灵活,更加便于阅读和修改。..
更早之前,Erich Gamma及其同事曾写了一书描述设计模式的书,书名叫《Design Patterns》(Addison Wesley,1995,中文版《设计模式:可复用面向对象软件的基础》已由机械工业出版社出版——编注)。那本书深入介绍了23种已经过验证的构建和操作对象的设计模式。而本书则从Java程序员的角度清晰地解释了这23种设计模式。
在完成本书提供的自我突破思考题的过程中,读者会编写代码,扩展现有的代码,回答一些微妙的问题,以及解决软件设计过程中遇到的典型问题;通过对这些思考题的思索,读者将获得足够的机会来深化自己对设计模式的理解。不过,不论读多少书,学习知识的最佳方式是将其应用于实践。...
Rebecca Wirfs-Brock
Sherwood于俄勒冈州
2002年1月