您的浏览历史

Java与模式

促销活动
精彩评论

基本信息

  • 作者: 阎宏   
  • 丛书名: 软件工程研究院
  • 出版社:电子工业出版社
  • ISBN:7505380001
  • 上架时间:2002-11-23
  • 出版日期:2002 年10月
  • 开本:16开
  • 页码:1024
  • 版次:1-1
  • 所属分类: 计算机 > 软件与程序设计 > JAVA >

    Java


内容简介回到顶部↑

本书是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,每一个章节讲解一个编程模式,说明此模式的用意、结构,以及这一模式适合于什么样的情况等。每一个章节都附有多个例子和练习题,研习这些例子、完成这些练习题可以帮助读者更好地理解所讲的内容。大多数的章节都是相对独立的,读者可以打开本书,从任何一章开始读起。为了满足不同程度的读者的需要,本书提供了一些标为“专题”的章节,不阅读这些章节,对阅读本书的标准章节没有影响。读过本书之后,读者可以很有信信心地在自己的系统设计工作中使用学过的内容,与同事交流面向对象的设计经验,并在事业发展上有更多的收获。
本书适合于Java程序员、架构设计师及设计模式爱好者,是一本实用的设计原则和设计模式的自学教材和使用手册。


目录回到顶部↑

第一部分
第1章 模式的简史和形而上学
1.1 模式是什么
1. 2 软件模式的简史
1.3 模式的起源
1.4 与道家思想的关系
1. 5 软件的永恒之道
1. 6 模式的要素
1. 7 本书讲解模式的格式
第2章 统一建模语言UML简介
2. 1 建造世界贸易中心
2.2 什么是UML
2. 3 UML包括什么
2.4 类图
2. 5 时序图
2. 6 状态图
2.7 UML及建模的工具
第二部分
第3章 软件的可维护性与可复用性
3.1 软件系统的可维护性

前言回到顶部↑

设计模式和设计原则已经成为面向对象的编程(OOP),以及面向对象的设计(OOD)的最新进展。设计模式和设计原则可以帮助Java设计师针对日常系统设计工作所遇到的很多设计问题给出结构合理、易于复用、易于维护的示范答案。本书向国内的Java程序设计师介绍这一强大的工具。
作者简介
阎宏,1964年出生于天津市。1987年毕业于中国科技大学近代物理系,1990年于中科院理论物理所获得硕士学位,1992年获博士学位,翌年赴日本京都大学进行博士后研究工作。
作者曾于美国花旗银行( Citibank)、汤臣金融( Thomson Financial)、奥本海默基金( Oppenheimer)等处供职,进行了多年的软件开发、架构设计和技术管理工作。
欢迎读者与作者联系:JavaPatterns@yahoo.com,WWW.Web EndsHere.com。
本书为何而写
促使作者写这本书的原因有很多,最主要的原因有以下几个。
第一,作者深深感到,虽然市场上有很多介绍面向对象技术的书籍,但是这些书籍中,有一些过于集中在理论层面,而有一些则过分地集中在具体层面上。
前者脱离软件工业的现状,对做具体工作的系统设计师和程序员的帮助十分有限。
后者由于拘泥于细节,很难帮助读者发展出全局的观念和视野。比如能够理解数据抽象化、继承、封装和多态性是非常重要的,但是仅仅知道这些并不能使设计师设计出具有更好的复用性和易于维护的系统。
通过前几年UML知识的普及,在读者群已经成熟的基础之上,如果能有一本贯穿理论和实践的教材性书籍,会对很多读者有益。
第二,作者深深感到,市场上没有一本以适合中国人的思维方式,针对中国读者群讲解软件设计与设计模式的书籍,这对大批的中国读者来说,十分不公平。
在西方的思想里面,分析一个结构直到把它分解为不可分割的单位,再加以数量化的研究和表述,是其典型的数理分析的套路。在西方科学文化中,不能够精确化和数量化的结构不受重视。
而在中国传统的文化里面,不能够精确化和数量化并不是研究的障碍。中国的阴阳思想可以灵活地描述任何的自然物、人造物和人类思想。
模式的理论有着深厚的中国道家思想渊源,设计模式实际上非常适合中国传统的思考方式。但是,很多中国的模式研究者们却似乎丢掉了自己的传统文化传承,像对待其他的舶来品一样,努力以西方的思维进行“重新”学习。
西方的作者往往由于自己对中国道家文化的理解水平所限,而在讲解模式理论的时候,有意无意地忽略它的道家背景。当这样的书籍充斥中国的模式图书市场的时候,中国的读者就会更加迷失在这一误区里面。
这使得作者感到一种沉重的责任感。
第三,市场上关于软件设计模式的书籍中确实有一部分是针对Java语言的,但是这些书籍在有些方面做得还不够。由于计算机图书的生命周期较短,就造成出版周期也很短,这使得一般的作者不愿意进行费时费力的调查研究工作。比如对于设计模式在Java语言API中的运用,以及设计模式是如何运用到真实的项目中去的,就较少有书籍做详细的介绍。
本书作者集中了很大的精力,对Java语言API中的设计模式做了详尽的综合、分析,并已从亲身参加的一些项目中抽取一些有代表性的问题,以专题讨论的方式介绍给读者。这可以使读者像亲临实地一样,体会设计模式是怎样应用到Java语言API中去的,以及是怎样在真实的软件项目中得到运用的。
本书为谁而写

序言回到顶部↑

序一
美国 Goldman Sacks公司
朱天华
朱天华博士,1987年毕业于中国科技大学近代物理系,1992年和1994年于美国哥伦比亚大学获建筑学硕士学位(M.A.)和物理学硕士学位(M.Ph),1997年获理论天体物理学博士学位(Ph.D);现任美国 Goldman Sacks公司利率产品资深策略专家。
在人类所制造的工具中,有的可以将人送上月球,有的可以驾驭原子的火焰,但只有计算机软件,才能透彻地反照出人类的心智。
软件是人类心灵和智慧在虚拟空间中的投射。软件的性能就是人类能力的扩展,它的活动就是人类心智活动的反映。软件直接表达出设计者对目标的理解,对用户的期待,以及对自己的定位。
然而,人类的软件却是问题多多。面对不断变化的性能要求,软件系统往往过于僵硬,过于脆弱,不易复用,很难维护。一个设计师驾驭软件系统的能力,就像他统治一个虚拟王国,或者主宰一个虚拟世界的能力一样;而这些软件设计中的问题,其实就是人类自身心灵和智慧的不足在镜于中的倒影。它反映出的,不仅仅是技术的不足,还包括了科学。
艺术、心理和哲学的不足。
在人类思想的百花园里,有一朵奇葩散发出神奇的幽香,这就是由建筑工程学家Christopher Alexander发展出的模式理论。它涵盖科学、心理、艺术和哲学,不仅适用于建筑工程学,而且适用于软件工程学以及任何其他的工程学。Alexander试图揭示的,是一条人类头脑与宇宙相互作用的永恒之道,它可以弥补发源于西方的现代科技、艺术和哲学的不足。
说到这里,忘记告诉你,这一散发着奇妙香气的曼妙花朵,嫁接自遥远的中国古代思想的园圃。
阎宏博士,凭借深厚的自然科学和中国传统哲学功底,以及多年来对模式理论的研究,将通过这本书向读者讲解软件设计模式的理论,它的简要历史,以及它与中国道家文化的渊源。这是一本实用的教材和手册,同时又是一本散发着思想火花的作品。当你把它放到书架上的时候,它应当占据一个独特的位置。
请接过这枝花。


序二 北京科蓝软件系统有限公司
郑仁寰
郑仁寰博士了1986年从英国曼彻斯特大学获得计算机科学博士学位,现任北京科蓝软件系统有限公司技术总监。
电子计算机科学是极为年轻的学科,几十年来,新理论、新技术层出不穷。计算处理能力的爆炸式增长使人类的“胃口”越来越大,所研制软件系统的复杂性等问题也与之俱来。20世纪60~70年代,已有了“软件危机”的提法。针对这类问题,各种灵丹妙药应运而生。面向对象法(object-oriented approach)是近十余年的伎使者。其理论经过Smalltalk、C++、Java等编程语言的实现以及现代用户界面的成功普及,可以说是通过了“实践的检验”。
设计模式来源于建筑学。他山之石,可以攻玉。这一理论,在软件行业的成功,恐怕是其发明人也始料不及的。设计模式把面向对象的理念发挥到了极至,对许多重复出现的问题,提出了既优雅又实际的解决方案。如今,作为高级软件设计师不了解设计模式,不能熟练地运用几个中要的模式,说其孤陋寡闻,恐怕也不过分。
Java编程语言自1995年问世以来,其成功好像任何编程语言都无法媲美。生逢其时(互联网的兴起)固然是一方面的原因,而Java吸收总结了前人的经验教训,反映了最新技术( the state of the art),对其受到欢迎和采用,恐怕更为重要。例如,设计模式在Java的设计及功能中,有着举足轻重的作用。
评论交流

共有413人开贴评论  1363人参与评论  401人参与打分 查看

286人
 71%
用户平均打分
我要写评论 help如何参与评论和打分
45人
 11%
40人
 9%
15人
 3%
15人
 3%

axman

专家级评论员
评价等级:  
发表于:2005-4-26 14:12:00
真的不知道说什么好.
看到下面这么叫好的,同意的,我知道我如此一说肯定会招来一片骂声.

但凭一个程序员的良心,我还是要说,至少要说出人个人的看法,不希望对你有影响.

尽管很多聪明的人不需要写过十万行的代码,就可以很好应用设计模式,但事实上,绝对多数真正的程序员是写了十万行以上的代码还是没有很好应用设计模式.更别说那些根本就是funs级的非程序员了.

就这本书而言,根本就不能称得上应用设计模式.完全是小学生背名词解释一样,离"应用"两个字差N个档次了.就是作文和文学的区别.一个"子类是一个父类"的涵义,没有学过计算机的人,以前在初中语文中学过逻辑的人,也知道"人"能出现的环境,张三也能出现,因为张三"是一个人",就这样低级的东西,作者用了14页介绍"里氏代换原则",大家不要感情用事,认真地花二十分钟看看,看看这14页,除了我上面说到的内容他还说了其它什么内容吗?如果仅仅是这点内容,他用14页来说明,这绝对不是水平的问题了.


真正的设计模式的应用,你即使写过十万行代码也不能如此轻松地掌握,这本书能轻松地看下来是因为他根本就不是在真正地应用设计模式.

我无法用几句话来说明如何真正地应用设计模式,只想说一句,现在流行IOC,AOP,很多人就在项目中大肆应用AOP,IOC,这就说明你掌握这两个设计思想了?真正的模式设计是经验的升华,即使你真的写过十万行代码也不一定能很好地应用,更别说没有写过了.除非你本身就是天才.

看看微软,SUN,IBM那些架构设计师,哪个不是45岁左右,十多年的编程经验,在这些公司工作的年轻程序员没有几个比我们笨的吧?他们为什么没有资格做架构师?应用好好想想了.
回复 ( 31条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得64支)  扔鸡蛋 (得17个)

fangcan_can
一级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-5-26 20:21:00
通俗易懂,适合任意阶层
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

stonebiao

一级评论员
该会员在china-pub购买过此书 精彩书评
评价等级:  
发表于:2004-11-2 14:52:00
尊敬的阎宏博士,我把您的这本书的第一部分看了两遍,觉得还是要来这里感谢您的好书!
在以前,我上过设计模式的课程,还看过四人帮及其他一些有关模式的书,可是都看得我一头雾水,找不到入门的途径。看了您的书的第一部分,我回过头再去看那些书,不禁有了豁然开朗的感觉!一开始不了解开闭原则,依赖倒置原则,里氏替换原则,接口隔离原则,合成/聚合复用原则,迪米特法则的话,是无法理解和领悟设计模式的精义所在的,这些都是学习设计模式的必要条件!我过去的一些疑惑在您的书得到了解答,过去的一些想法得到了验证或指正,十分感谢您~
不过,就目前的感觉来说,您把用道家思想来阐述和理解模式思想有点勉强的感觉,也许是我对模式的理解还不够深刻吧。
我是.net程序员,却通过你的java书才入了模式的门,呵呵。
回复 ( 1条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得1支)  扔鸡蛋 (得0个)

hurryup_1

一级评论员
精彩书评
评价等级:  
发表于:2007-3-4 0:39:00
很感谢作者,真的国人能出这样的书也要有相当的造诣才行,看来作者做到了。国内的书大抵都是为了迎合市场需要,仓促的翻译,仓促的抄袭,最后放到市场上给这些良莠不齐的读者的视觉扰乱,有些书都是东拼西凑搞出来的,就比如飞思出的绝大部分书,其实对于国人尤其是那些初出茅庐的人毒害之深是不可低估的,然而作者的这本《java与模式》改变了我对国人的出书的看法,看的出来,作者是用心的写书,将晦涩难懂的内容深入浅出的呈现给大家,让大家有种赏心悦目的感觉,如饮甘泉中不知不觉的掌握了模式的内容,整个过程很愉快,真的很谢谢作者。希望中国能更多的这样的大师。
这个评论我是发表在第二书店网站上面的,结果发现这里也评论的这么的火热,引发了我把这个评论发到这里来,就这样了,提交。
您觉得呢? 送鲜花 (得1支)  扔鸡蛋 (得0个)

zLight
三级评论员
评价等级:  
发表于:2004-10-5 12:18:00
看来大家的评论,有一点可以肯定,这是一本好书!!
我做了两年的Delphi,最近才开始学习Java,今天刚看完 〈Think in Java〉,我想问一下各位看过这本书的大虾,要达到什么层度后才比较适合看这本书?我现在的层度可以吗?
回复 ( 2条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得1支)  扔鸡蛋 (得0个)
我要写评论
查看所有评论交流(共413条)