首页 软件设计书籍推荐

软件设计书籍推荐

举报
开通vip

软件设计书籍推荐 软件设计经典书籍推荐 2010 年 05 月 02 日 星期日 02:57 转自 http://www.cnblogs.com/wayfarer/archive/2009/06/21/1507628.html 软件设计经典书籍推荐 设计模式最经典的书籍自然是 GOF 的《设计模式》,但很多人的反应是这本书太难理 解了,并不适合初学者阅读。这话说得在理。一方面,本书使用的 C++示例难倒了一 大群 Java 和.NET 的开发人员;另一方面,这本书的风格过于专业化,更偏向于学术 论文的风格(...

软件设计书籍推荐
软件设计经典书籍推荐 2010 年 05 月 02 日 星期日 02:57 转自 http://www.cnblogs.com/wayfarer/archive/2009/06/21/1507628.html 软件设计经典书籍推荐 设计模式最经典的书籍自然是 GOF 的《设计模式》,但很多人的反应是这本书太难理 解了,并不适合初学者阅读。这话说得在理。一方面,本书使用的 C++示例难倒了一 大群 Java 和.NET 的开发人员;另一方面,这本书的风格过于专业化,更偏向于学术 论文的风格(事实上,本书的雏形就是来源于 GOF 中 Erich Gamma 的博士论文),因 此就显得有些晦涩难懂了。 基本上,本书可以作为我们参考的标准,是经常查阅的文献资料。如果你对某个设计 模式还有困惑不解之处,阅读本书,然后细细品味,总会给你一些豁然开朗的感觉。 夸张点说,这本书可以说是设计模式的红宝书,即使人手一册,也不为过。说句题外 话,我还是喜欢外版书的封面设计,给人一种艺术的美感,让人看着就有想买的冲动。 国内专业书籍的装帧与设计,做得好的,真的很少。 对于设计模式,这几年被人广泛推崇的还是这本 Head First Design Patterns,中文 版被译作《设计模式深入浅出》。书名就代表了本书的性质是面向初学者的。而它的 著作风格才是真正引人注目和称道的。专业书籍的风格通常会存在迥然不同的两种风 格。一种风格深入浅出,趣味盎然,阅读过程轻松愉快,而给出的实例也多以生活中 的例子进行类比,帮助读者对书内容的理解。这本书就是这一类书籍的个中翘楚。去 年在国内计算机图书界,独领风骚的一本《大话设计模式》,同样属于这样的风格。 程杰也因为该书在去年荣获了 51cto 的年度 IT图书的最佳原创作者奖。该书的成功 就在于它继承了这样一种集娱乐与技术为一体的独特风格,让技术人员看到,原来, 技术书籍也可以这样写,读起来也可以这样有趣。至于另一种写作风格则偏向于循规 蹈矩,描述技术问题胜在其条理清楚,如山涧流水,优雅而从容,却最终能够融汇成 一条大河。很难说两种风格孰优孰劣,前者胜在趣味,后者胜在严谨。我并不是说有 趣的书就一定不严谨,只是相对而言,一本书若要有趣,就必须给出生动的比喻或者 隐喻,而这样的修辞总会或多或少使其本质发生小小的变形。然而这两种风格,若要 成功,最关键的还是要看著者的技术功底和笔力。 虽然设 计主要还是要看思想, 但很多 读者还是比较在意每本 书的代 码载体。Head First Design Patterns 一书给出的是 Java 示 例,而《大话设计模式》 则是 C#。 还有一本面向初学者的 好书是 阎宏先生所著的《Java 与模 式》。本书利用中国传 统文化 来阐述设计之道,又引 入了大 量的 Java 实例,尤其是 对 Java 的 API 或框架进行了深 入分 析。所以读来既有趣味,又有文化的底蕴,同时 还不乏 实际的例子给出标准的范本。我以为,对于初学 者,本 书是再合适不过的了。 若要理 解 UML,并将软件开发和设计有效地与 UML 结合 起来, 那么最佳的选择是阅读Craig Larman的经典著作 Applying UML and Patterns。本书已经出版到第 三版。 一本书若是能够再版、三版,绝对有其值得称道 之处。 该书全面地介绍了 RUP 开发模型,并将 UML 与开 发过 程、设计模式等有效地结合起来。随着本书章节 的逐步 演进,读者的能力也将得到逐步的提高。本书的 中文版 名为《UML 和模式应用》,似乎现在仅出版了第 二版的中文版本,不由不让人感叹我们总是在追着技术前进的步伐在跑,甚至是优秀 书籍的出版,我们也是在后面追赶着,却始终追赶不上。 将敏捷、面向对象思想、设计模式有机结合起来,会是哪一本书?还用问吗,自然是 Bob 大叔的巅峰之作 Agile Software Development: Principles, Patterns, and Practices 了。本书中文版的译者邓辉先生功底扎实,比较好地将原书的神韵传达了 出来。 若要问哪些书(当然是指技术书籍)可以让我重读不厌?那么这本书一定要排在前列。 实际上,像这一类的书籍都是值得反复阅读的,因为每一次阅读,它都会给我们新的 启发与体会。所谓“读书百遍,其义自现”。技术书籍本 身存在一定的难度,不同水平的人阅读同一本书的收获是 大不相同的。而在不同阶段的同一个人,因为技术水平的 变化,自然每次都能够读出新意来。本书附带的代码是 Java,同时还包含少量 C++代码。之后,Bob 大叔又推出 了该书的 C#版,算是满足了广大的 C#开发者的强烈需求。 即使是最优秀的设计师,也不可能总是在第一次就能将设 计做好,因而我们需要重构。讲解重构技术的书籍中,最 声名显赫的无疑就是 Martin Fowler 的 Refactoring: Improving the Design of Existing Code。正是本书开创 了重构在软件开发中的光辉地 位。这本书的优秀自然不用我 再来饶舌了。Martin Fowler 先生是全球知名的软件大师, 他的每一本著作都给业界带来 了深远的影响。我在一次和 Fowler 先生的面对面交谈中, 曾经问他至今最满意的著作是 哪一本。他没有丝毫的犹豫, 就回答是 Refactoring。 本书的中文版名为《重构:改善既有代码的设计》,译者为侯捷和熊节。熊节是敝同 乡,我和他有过一次面谈,谈起过这本书的翻译。那些翻译的往事也让他感触颇多吧。 本书真正称得上是软件书籍中的名著名译。熊节的中文和英文造诣都很厉害,所以阅 读本书的中文版,你几乎感觉不到有“隔”了一层的晦涩。通篇阅读下来,就是那么 流畅。顺带提及,本书是少有的中文版封面设计优于原版设计的特例。 虽然说 Martin Fowler 是重构技术的集大成者,书中提到的重构方法也多数用到了设 计模式,但真正将重构与模式结合起来的,还是 Joshua Kerievsky,他的著作 Refactoring to Patterns 也曾经荣获了第 15届 Jolt 大奖。书中强调:“‘通过重 构实现模式、趋向模式和去除模式’,而不再是在预先设计中使用模式,也不再过早 地在代码中加入模式。”实际上,这样的论调恰恰迎合了敏捷社区的需要。极限编程 的实践就要求简单设计和设计改善,改善的方法就是利用重构合理地引入设计模式, 以期改善程序的结构,使其具有更佳的可复用性和可扩展性。此外,本书还是 Refactoring: Improving the Design of Existing Code 一书的补充,增加了诸如用 Factory Method 引入多态创建、将聚集操作搬移到 Collecting Parameter 等重构方 法,明确地把设计模式作为重构技术的一等公民。本书在大陆的中文版为《重构与模 式》,而在台湾则被候捷和陈裕城译作《重构-向范式前进》。虽然名字不够精简, 但却真正地代表了作者创作本书的含义,就是从 Refactoring 到 Patterns。 虽然 Martin Fowler 最看重 Refactoring: Improving the Design of Existing Code 一书,但我个人认为,他的 Patterns of Enterprise Application Architecture 一 书(中文版名为《企业应用 架构 酒店人事架构图下载公司架构图下载企业应用架构模式pdf监理组织架构图免费下载银行管理与it架构pdf 模式》)价值更高,因为它为我们设计人员给出了全 面、深入、权威的企业级设计指引。 在所有的软件大师中,或许 Martin Fowler 是最善于 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 的一位。他虽然没有提出具 有独创性的方法与思想,但很多独创性的方法与思想到了他的笔下,都能化腐朽为神 奇。本书最好地印证了这样的奇迹。在本书诞生之前,实际上关于分层设计、并发处 理、对象关系映射、表现模式以及分布式处理,已经有了许多非常优秀的实践。但只 有 Martin Fowler 凭借自己丰富的技术经验与无与伦比的创作能力,将这些散落的珍 珠串联在了一起,最后形成了一串璀璨夺目的项链。透过本书,Fowler 将自己善于总 结的能力发挥得淋漓尽致,真可以说是“笔落惊风雨,书成泣鬼神。” Martin Fowler 的早期著作中,Analysis Patterns 提出 了领域逻辑的诸多建模原则和模式,不过真正对领域建 模、分析和设计产生奠基作用和推动作用的,还是 Eric Evans 的大作 Domain-Driven Design,中文版名为《领域 驱动设计》。本书的诞生推动了一种设计方法,改变了传 统通过数据设计驱动开发的模式,而是将核心关注点放在 了领域逻辑上,而这应该说才是真正的软件设计的正道。 Martin Fowler 在本书的序中,这样写道:“控制复杂问 题的关键是建立一个好的领域模型,它越过问题域的表象 介绍其底层的结构,给软件开发人员提供所需要的方 法。”毋庸置疑,当我们面对复杂多变的领域逻辑时,领 域驱动设计已经成为了我们手中的利器。掌握领域驱动设计,并不能保证所有复杂的 设计问题都能够迎刃而解,但这种思想却能够帮助我们像庖丁解牛一般,即使面对纷 繁复杂的领域逻辑,也能够做到“以神遇而不以目视,官知止而神欲行”。 本书堪称经典,正如 Kent Beck 的推荐:“每个有思想的软件开发人员,其书架上都 应该珍藏这样一本书。”说起来,我也是 Kent Beck 提到的“有思想的软件开发人员” 了。 软件设计经典书籍推荐
本文档为【软件设计书籍推荐】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_557874
暂无简介~
格式:pdf
大小:730KB
软件:PDF阅读器
页数:4
分类:互联网
上传时间:2013-11-25
浏览量:56