1. Home
  2. 读书知识

软件设计经典书籍推荐

design-patterns-book-cover 设计模式最经典的书籍自然是GOF的《设计模式》,但很多人的反应是这本书太难理解了,并不适合初学者阅读。这话说得在理。一方面,本书使用的C++示例难倒了一大群Java和.NET的开发人员;另一方面,这本书的风格过于专业化,更偏向于学术论文的风格(事实上,本书的雏形就是来源于GOF中Erich Gamma的博士论文),因此就显得有些晦涩难懂了。

软件设计经典书籍推荐

基本上,本书可以作为我们参考的标准,是经常查阅的文献资料。如果你对某个设计模式还有困惑不解之处,阅读本书,然后细细品味,总会给你一些豁然开朗的感觉。夸张点说,这本书可以说是设计模式的红宝书,即使人手一册,也不为过。说句题外话,我还是喜欢外版书的封面设计,给人一种艺术的 ,让人看着就有想买的冲动。国内专业书籍的装帧与设计,做得好的,真的很少。

head_first_design_patterns_cover

 

对于设计模式,这几年被人广泛推崇的还是这本Head First Design Patterns,中文版被译作《设计模式深入浅出》。书名就代表了本书的性质是面向初学者的。而它的著作风格才是真正引人注目和称道的。专业书籍的风格通常会存在迥然不同的两种风格。一种风格深入浅出,趣味盎然,阅读过程轻松愉快,而给出的实例也多以生活中的例子进行类比,帮助读者对书内容的理解。这本书就是这一类书籍的个中翘楚。dahuadp去年在国内计算机图书界,独领风骚的一本《大话设计模式》,同样属于这样的风格。程杰也因为该书在去年荣获了51cto的年度IT图书的最佳原创作者奖。该书的成功就在于它继承了这样一种集娱乐与技术为一体的独特风格,让技术人员看到,原来,技术书籍也可以这样写,读起来也可以这样有趣。至于另一种写作风格则偏向于循规蹈矩,描述技术问题胜在其条理清楚,如山涧流水,优雅而从容,却最终能够融汇成一条大河。很难说两种风格孰优孰劣,前者胜在趣味,后者胜在严谨。我并不是说有趣的书就一定不严谨,只是相对而言,一本书若要有趣,就必须给出生动的比喻或者隐喻,而这样的修辞总会或多或少使其本质发生小小的变形。然而这两种风格,若要成功,最关键的还是要看著者的技术功底和笔力。

Java-Pattern-Chinese 虽然设计主要还是要看思想,但很多读者还是比较在意每本书的代码载体。Head First Design Patterns一书给出的是Java示例,而《大话设计模式》则是C#。还有一本面向初学者的好书是阎宏先生所著的《Java与模式》。本书利用中国传统文化来阐述设计之道,又引入了大量的Java实例,尤其是对Java的API或框架进行了深入分析。所以读来既有趣味,又有文化的底蕴,同时还不乏实际的例子给出标准的范本。我以为,对于初学者,本书是再合适不过的了。

big0131489062 若要理解UML,并将软件开发和设计有效地与UML结合起来,那么最佳的选择是阅读Craig Larman的经典著作Applying UML and Patterns。本书已经出版到第三版。一本书若是能够再版、三版,绝对有其值得称道之处。该书全面地介绍了RUP开发模型,并将UML与开发过程、设计模式等有效地结合起来。随着本书章节的逐步演进,读者的能力也将得到逐步的提高。本书的中文版名为《UML和模式应用》,似乎现在仅出版了第二版的中文版本,不由不让人感叹我们总是在追着技术前进的步伐在跑,甚至是优秀书籍的出版,我们也是在后面追赶着,却始终追赶不上。

agile-software-development-principles-patterns-and-practices 将敏捷、面向对象思想、设计模式有机结合起来,会是哪一本书?还用问吗,自然是Bob大叔的巅峰之作Agile Software Development: Principles, Patterns, and Practices了。本书中文版的译者邓辉先生功底扎实,比较好地将原书的神韵传达了出来。

若要问哪些书(当然是 术书籍)可以让我重读不厌?那么这本书一定要排在前列。实际上,像这一类的书籍都是值得反复阅读的,因为每一次阅读,它都会给我们新的启发与体会。所谓“读书百遍,其义自现”。技术书籍本身存在一定的难度,不同水平的人阅读同一本书的收获是大不相同的。而在不同阶段的同一个人,因为技术水平的变化,自然每次都能够读出新意来。本书附带的代码是Java,同时还包含少量C++代码。之后,Bob大叔又推出了该书的C#版,算是满足了广大的C#开发者的强烈需求。

refactoring 即使是最优秀的设计师,也不可能总是在第一次就能将设计做好,因而我们需要重构。讲解重构技术的书籍中,最声名显赫的无疑就是Martin Fowler的Refactoring: Improving the Design of Existing Code。正是本书开创了重构在软件开发中的光辉地位。这本书的优秀自然不用我再来饶舌了。Martin Fowler先生是全球知名的软件大师,他的每一本著作都给业界带来了深远的影响。我在一次和Fowler先生的面对面交谈中,曾经问他至今最满意的著作是哪一本。他没有丝毫的犹豫,就回答是Refactoring。

本书的中文版名为《重构:改善既有代码的设计》,译者为侯捷和熊节。熊节是敝同乡,我和他有过一次面谈,谈起过这本书的翻译。那些翻译的往事也让他感触颇多吧。本书真正称得上是软件书籍中的名著名译。熊节的中文和英文造诣都很厉害,所以阅读本书的中文版,你几乎感觉不到有“隔”了一层的晦涩。通篇阅读下来,就是那么流畅。顺带提及,本书是少有的中文版封面设计优于原版设计的特例。

refactoring-to-patterns 虽然说Martin Fowler是重构技术的集大成者,书中提到的重构方法也多数用到了设计模式,但真正将重构与模式结合起来的,还是Joshua Kerievsky,他的著作Refactoring to Patterns 也曾经荣获了第15届Jolt大奖。书中强调:“‘通过重构实现模式、趋向模式和去除模式’,而不再是在预先设计中使用模式,也不再过早地在代码中加入模式。”实际上,这样的论调恰恰迎合了敏捷社区的需要。极限编程的实践就要求简单设计和设计改善,改善的方法就是利用重构合理地引入设计模式,以期改善程序的结构,使其具有更佳的可复用性和可扩展性。此外,本书还是Refactoring: Improving the Design of Existing Code一书的补充,增加了诸如用Factory Method引入多态创建、将聚集操作搬移到Collecting Parameter等重构方法,明确地把设计模式作为重构技术的一等公民。本书在大陆的中文版为《重构与模式》,而在台湾则被候捷和陈裕城译作《重构-向范式前进》。虽然名字不够精简,但却真正地代表了作者创作本书的含义,就是从Refactoring到Patterns。

big0321127420 虽然Martin Fowler最看重Refactoring: Improving the Design of Existing Code一书,但我个人认为,他的Patterns of Enterprise Application Architecture一书(中文版名为《企业应用架构模式》)价值更高,因为它为我们设计人员给出了全面、深入、权威的企业级设计指引。

在所有的软件大师中,或许Martin Fowler是最善于总结的一位。他虽然没有提出具有独创性的方法与思想,但很多独创性的方法与思想到了他的笔下,都能化腐朽为神奇。本书最好地印证了这样的奇迹。在本书诞生之前,实际上关于分层设计、并发处理、对象关系映射、表现模式以及分布式处理,已经有了许多非常优秀的实践。但只有Martin Fowler凭借自己丰富的技术经验与无与伦比的创作能力,将这些散落的珍珠串联在了一起,最后形成了一串璀璨夺目的项链。透过本书,Fowler将自己善于总结的能力发挥得淋漓尽致,真可以说是“笔落惊风雨,书成泣鬼神。”

domain-driven-design-book-cover Martin Fowler的早期著作中,Analysis Patterns提出了领域逻辑的诸多建模原则和模式,不过真正对领域建模、分析和设计产生奠基作用和推动作用的,还是Eric Evans的大作Domain-Driven Design,中文版名为《领域驱动设计》。本书的诞生推动了一种设计方法,改变了传统通过数据设计驱动开发的模式,而是将核心关注点放在了领域逻辑上,而这应该说才是真正的软件设计的正道。

Martin Fowler在本书的序中,这样写道:“控制复杂问题的关键是建立一个好的领域模型,它越过问题域的表象介绍其底层的结构,给软件开发人员提供所需要的方法。”毋庸置疑,当我们面对复杂多变的领域逻辑时,领域驱动设计已经成为了我们手中的利器。掌握领域驱动设计,并不能保证所有复杂的设计问题都能够迎刃而解,但这种思想却能够帮助我们像庖丁解牛一般,即使面对纷繁复杂的领域逻辑,也能够做到“以神遇而不以目视,官知止而神欲行”。

本书堪称经典,正如Kent Beck的推荐:“每个有思想的软件开发人员,其书架上都应该珍藏这样一本书。”说起来,我也是Kent Beck提到的“有思想的软件开发人员”了。

转载自:http://www.cnblogs.com/wayfarer/archive/2009/06/21/1507628.html

《轻量级java ee企业应用实战(第3版)下载地址:

http://www.chnxp.com.cn/soft/down-108066.html

http://down.51cto.com/data/444127

http://download.csdn.net/download/huyongl1989/4462592

原文链接:https://www.cnblogs.com/langtianya/archive/2013/01/22/2870635.html

你可能感兴趣

软件工程的经典书籍有哪些?

小编推荐几本软件工程方向的几本经典书。1、解构领域驱动设计本书全面阐释了领域驱动设计(domain-driven design,DDD)的知识体系,内容覆盖领域驱动设计的主要模式与主流方法,并在此基础上提出“领域驱动设计统一过程”(domain-driven design unified process,DDDUP),将整个软件构建过程划分为全局分析、架构映射和领域建模3个阶段。除给出诸多案例来阐释领域驱动设计统一过程中的方法与模式之外,本书还通过一个真实而完整的案例全面展现了如何进行领域驱动设计统一过程的实施和落地。为了更好地运用领域驱动设计统一过程,本书还开创性地引入了业务服务、菱形对称架

对于软件工程专业学生有哪些书可推荐?

推荐这几本书。1、代码整洁之道本书提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。本书阅读对象为一切有志于改善代码质量的程序员及技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值。2、设计模式 : 可复用面向对象软件的基础这本书结合设计实作例从面向对象

.NET技术书籍推荐

1. 书名:Microsoft .NET框架程序设计(修订版)作者:Jeffrey Richter译者:李建忠出版日期:2003 年11月出版社:清华大学出版社推荐理由:框架设计是一本真正意义上的.NET书籍,之前看过很多,但都是工具类的。如果仅仅把.NET作为开发程序的工具,那些书就足够了。但是.NET绝不仅仅是个工具,它是一种思想、一个平台。要想深入学习,必须对其Framework有所了解。《Microsoft .NET框架程序设计(修订版)》无疑是学习.NET Framework最好的一本。李健忠老师的翻译通俗流畅,并且字里行间流露着他对.NET的深刻理解。不过初学者看这本书开始也许会很

知乎万赞+豆瓣高分推荐,年轻人必读的10本书!

你是否也跟我一样,买书如山倒,看书如抽丝?在这个知识信息爆炸的时代,有数以亿计纸质书籍和电子书资源,如果我们不对阅读书籍进行筛选和整理,最后这些书籍只会成为堆满我们储物空间和占满Kindle内存的杂物。我们不仅要多读书,还要学会读好书。我根据自己的阅读经验,结合豆瓣TOP100高分书籍和知乎万赞回答推荐书籍,为你精选了年轻人必读的10本书。每一本都值得你认真咀嚼,它们最终将会内化为你人格的一部分,并对你的一生产生巨大影响。01 《如何阅读一本书》工欲善其事,必先利其器。不懂阅读的人,初探阅读的人,读这本书可以少走冤枉路;对阅读有所体会的人,读这本书可以有更深的印证和领悟。读书是一个提升自我的过

java学习路线与书籍推荐

从入门javaSE到进阶javaEE书单推荐!!吐血整理!!(珍藏版)学习路线从入门到进阶:附技术书籍阅读方法论总结:前言:技术书阅读方法论一.速读一遍(最好在1~2天内完成)人的大脑记忆力有限,在一天内快速看完一本书会在大脑里留下深刻印象,对于之后复习以及总结都会有特别好的作用。对于每一章的知识,先阅读标题,弄懂大概讲的是什么主题,再去快速看一遍,不懂也没有关系,但是一定要在不懂的地方做个记号,什么记号无所谓,但是要让自己后面再看的时候有个提醒的作用,看看第二次看有没有懂了些。二.精读一遍(在2周内看完)有了前面速读的感觉,第二次看会有慢慢深刻了思想和意识的作用,具体为什么不要问我,去问30

Java从入门到精通技术书籍最全50+本推荐(内附电子书资源无偿共享)建议收藏!

前言:技术书阅读方法论一.速读一遍(最好在1~2天内完成)人的大脑记忆力有限,在一天内快速看完一本书会在大脑里留下深刻印象,对于之后复习以及总结都会有特别好的作用。对于每一章的知识,先阅读标题,弄懂大概讲的是什么主题,再去快速看一遍,不懂也没有关系,但是一定要在不懂的地方做个记号,什么记号无所谓,但是要让自己后面再看的时候有个提醒的作用,看看第二次看有没有懂了些。二.精读一遍(在2周内看完)有了前面速读的感觉,第二次看会有慢慢深刻了思想和意识的作用,具体为什么不要问我,去问30年后的神经大脑专家,现在人类可能还没有总结出为什么大脑对记忆的完全方法论,但是,就像我们专业程序员,打代码都是先实践,

Android开发书籍推荐

Android开发书籍推荐当你看到这些文字时,那么恭喜你,你可能选择了一个无限可能的方向。
推荐理由:Android应用层和大部分framework层用的都是java,加上现在大学教育大家都懂得,学的少,混的多,所以立志于搞这个,java基础还是有必要夯实一下的。
推荐理由:作者的文笔流畅,见解独到,而且系统地,深入地讲解了Android系统原理。
背景故事:同事强烈推荐这本书,他说看完这本书以后,看代码思路更清晰了,遇到BUG也脸不红,心不跳了,走路都能昂首挺胸,自信人生。

一生必读的名著书籍推荐

#教育# 导语】名著是人类文化的精华。阅读名著可以增长见识,启迪智慧,提高语文能力和人文素养。下面是©无忧考网为大家整理的相关内容,涵盖了军事文学、哲学、历史、等不同领域,它们均为名家推荐的必读著作,都是有权威性的代表作。更多相关内容请关注©无忧考网教育频道!【篇一】一生必读的名著书籍推荐 名著书籍推荐 第一名著《战争与和平》 作者:(俄)列夫·托尔斯泰 文本以极其简洁的文字,卓越的、令人惊叹的心理分析,生动、鲜活地描绘了俄罗斯文学令人激动的一组人物形象。作者将“战争”与“和平”的两种生活、两条线索交叉描写,构成一部百科全书式的壮阔史诗。 第二名著《巴黎圣母院》 作者:(法)雨果 《巴黎圣母院

有哪些值得推荐的好的算法书?

经典算法算法设计这是一本关于算法设计和分析的经典教材。本书围绕算法设计进行组织,对每种算法技术用多个典型范例进行分析,把算法的理论跟实际问题结合起来,具有很大的启发性。本书侧重算法设计思路,每章都从实际问题出发,经过深入具体的分析引出相应算法的设计思想,并对算法的正确性和复杂性进行合理的分析和论证。本书覆盖面广,且含有200多道精彩的习题,最后还扩展了PSPACE问题、参数复杂性等内容。本书的目标是将这种方法带入算法研究,作为一个设计过程,它始于各种计算应用程序中 出现的问题,构建在对算法设计技术理解的基础之上,最终得到这些问题的有效解决方案。我 们试图探讨算法思想在计算机科学中的作用,并将这

python 数据类书籍推荐

数据类书籍推荐《Python科学计算》我的科学计算类入门书籍。当年自己毕业论文涉及到数据处理的部分,都是用的在这本书里学到的东西。从发行版的安装开始,这本书将科学计算及可视化的常见函数库,如numpy、scipy、sympy、matplotlib、traits、tvtk、mayavi、opencv等等,都进行了较为详细地介绍。由于涉及面太广,可能对于单个函数库来说还不够深入,但是这本书能够让人快速上手,全面了解科学计算所用到的常用函数库。进而在此基础上选择自己需要的函数库进行深入学习,相对来说要容易得多。此外,这本书还有免费的在线版本(在确定出版纸书之后停止了更新,不知道后来有没有继续更新),

原创文章,作者:xyhun,如若转载,请注明出处:https://www.xyhun.com/7510.html

Contact Us

邮件:294438279@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code