送给中国的软件工程——《Java与模式》

yuchigong 2003-01-27 02:42:24
本书为何而写
促使作者写这本书的原因有很多,最主要的原因有以下几个。
第一,作者深深感到,虽然市场上有很多介绍面向对象技术的书籍,但是这些书籍中,有一些过于集中在理论层面,而有一些则过分地集中在具体层面上。
前者脱离软件工业的现状,对做具体工作的系统设计师和程序员的帮助十分有限。
后者由于拘泥于细节,很难帮助读者发展出全局的观念和视野。比如能够理解数据抽象化、继承、封装和多态性是非常重要的,但是仅仅知道这些并不能使设计师设计出具有更好的复用性和易于维护的系统。
通过前几年UML知识的普及,在读者群已经成熟的基础之上,如果能有一本贯穿理论和实践的教材性书籍,会对很多读者有益。
第二,作者深深感到,市场上没有一本以适合中国人的思维方式,针对中国读者群讲解软件设计与设计模式的书籍,这对大批的中国读者来说,十分不公平。
在西方的思想里面,分析一个结构直到把它分解为不可分割的单位,再加以数量化的研究和表述,是其典型的数理分析的套路。在西方科学文化中,不能够精确化和数量化的结构不受重视。
而在中国传统的文化里面,不能够精确化和数量化并不是研究的障碍。中国的阴阳思想可以灵活地描述任何的自然物、人造物和人类思想。
模式的理论有着深厚的中国道家思想渊源,设计模式实际上非常适合中国传统的思考方式。但是,很多中国的模式研究者们却似乎丢掉了自己的传统文化传承,像对待其他的舶来品一样,努力以西方的思维进行“重新”学习。
西方的作者往往由于自己对中国道家文化的理解水平所限,而在讲解模式理论的时候,有意无意地忽略它的道家背景。当这样的书籍充斥中国的模式图书市场的时候,中国的读者就会更加迷失在这一误区里面。
这使得作者感到一种沉重的责任感。
第三,市场上关于软件设计模式的书籍中确实有一部分是针对Java语言的,但是这些书籍在有些方面做得还不够。由于计算机图书的生命周期较短,就造成出版周期也很短,这使得一般的作者不愿意进行费时费力的调查研究工作。比如对于设计模式在Java语言API中的运用,以及设计模式是如何运用到真实的项目中去的,就较少有书籍做详细的介绍。
本书作者集中了很大的精力,对Java语言API中的设计模式做了详尽的综合、分析,并且从亲身参加的一些项目中抽取一些有代表性的问题,以专题讨论的方式介绍给读者。这可以使读者像亲临实地一样,体会设计模式是怎样应用到Java语言API中去的,以及是怎样在真实的软件项目中得到运用的。
本书为谁而写
Java语言是现今最普及的纯粹OOP的编程语言,使用Java语言编程的程序师的平均素质也相对比较高。这些程序师往往不满足于只是实现程序功能的要求,他们常常想要在代码结构、编程风格,乃至解决问题的思考方式上不断进取和自我完善。设计原则与设计模式就是在大量的实践中总结和理论化之后优选的代码结构、编程风格及解决问题的思考方式。对模式的了解和掌握,是Java程序员提高自身素质的一个很好的方向。
这本书是Java程序师为Java程序员写的一本实用的设计原则和设计模式的自学教材和使用手册。
如果你是一位Java程序员,你以此为荣,并且希望能够了解Java语言API背后的设计思想和设计理念,以便更加了解这一语言,那么这本书就是为你而写的。
如果你是一位架构设计师,你以此为荣,并且希望能够进一步了解设计模式的起源,以及最知名的二十几个设计模式的用意、结构直到代码实现,以便能够改善自己的系统设计方案,那么这本书就是为你而写的。
如果你是一位设计模式的爱好者,你以此为荣,并且希望能够知道设计模式背后的设计原则和背后的哲学思想,那么这本书就是为你而写的。
主要内容
《Java与模式》讲述了软件设计模式的理论,它的简要历史,以及它与中国道家文化的渊源。本书的目的是要给工作繁忙的Java系统设计师一个快速而准确的设计原则和设计模式的辅导。每一个章节讲解一个编程模式,每一个章节都附有多个例子和练习题,而为方便读者阅览,每一个章节都是相对独立的,读者可以从任意章节开始读起。为了满足不同程度的读者需求,这本书特别提供了一些标为“专题”的章节,以便读者有所选择地阅读。书中资料翔实、取法新颖、技术前沿、举例生动,既可帮助有志于掌握设计模式的软件设计师做自学、参考书,又适用于高校及专业培训机构选为教材。
《Java与模式》一书出自“软件工程研究院”系列丛书旗下,该丛书是一套陪伴中国软件人才成长过程的高质量图书。凡出自该系列丛书旗下者,均可称之为特点鲜明、内容精华,足以代表目前中国软件工程最前沿的技术思想,堪称软件工程领域的一朵奇葩。
...全文
87 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧