很多朋友问学习设计模式的书籍,老大沧浪在FAQ里有个简短的叙述,这里我引申一下,说说自己看过或者翻过的设计模式书籍,由于水平所限,肯定有不对的地方,希望大家指正,如果大家看到好的模式相关书籍,希望能回帖补充。
首
先模式是不分语言的,Beck在他的TDD一书中用python实现了Composite模式,充分证明了这一点。不过我认为目前模式方面的好书基本都是
基于java语言的,所以不管你是用C#还是CPP,都请学会阅读java代码,毕竟现在OO和模式还是有java社群引领的。
我将按照初级,中级,高级三类来划分推荐的书。并且按照格式——名称,语言,内容&评论,推荐指数来写:)。
初级:我认为初级的标准是阐述模式是什么以及常见模式的介绍。
1.
名称 : Head First Design Patterns
语言 : java
评论 : Jolt大奖得主,介绍了常见的十几种模式。我认为最好的模式入门书籍,内容生动,风格活泼。如果对模式了解较少,看这本书最合适不过,即使你水平不错,相信看了也会有收获。
推荐 : 五星
2.
名称 :java与模式
语言 :java
评论 : 首先介绍了SRP,LSP等基本原则,然后介绍了GOF23种模式和其他三种模式,以中国传统名著如西游记等举例,写的比较不错。当然1000多页的厚度读起来也需要耐心:)。虽然有些知识稍微过时,而且跟java语言联系太紧密,但还是本好书。
推荐 : 四星
3.
名称 : .NET与设计模式
语言 : C#
评论 : 和上面一本书定位和风格非常相似,只不过换了语言和平台。如果你是.net的坚决拥护者,无论如何不肯看用 java语言写的书,那么这本书适合你,个人认为这本书写得比C#设计模式要好。
推荐 : 四星
4.
名称 : C#设计模式
语言 : C#
评论 : 很薄的一本书,仅仅按照GOF的风格用C#描述了GOF模式,感觉这种书意义不大。
推荐 : 两星
5.
名称 : 深入浅出设计模式(C#/java版)
语言 : C#/java
评论 : 和上本书风格相似,语言既有C#又有java,例子感觉是随便从网上搜集的。
推荐 : 两星
中级:中级的书不仅仅是介绍模式,更多的是关注模式的应用。
1.
名称 : 设计模式解析
语言 : java(第二版)
评论 : 也是久负盛名的一本书,代码大全的作者推荐的模式学习书籍。书中的很多思路很有启发性,值得阅读。只是作者狂引建筑的永恒之道,让人觉得莫名其妙。
推荐 : 四星
2.
名称 : 重构与模式
语言 : java
评论 : 我期望很高的一本书,但看了以后发现是七分重构三分模式,对模式本身叙述不多,主要将如何重构实现模式,适合有一点基础的朋友阅读。
推荐 : 四星
3.
名称 : 敏捷软件开发 原则.模式与实践
语言 : java,少量C++
评论 : Jolt大奖得主,非常好的一本书,首先讲解了OCP,DIP等基本原则,然后通过几个实际例子讲解模式,论述的十分精彩,我认为是中级图书中最好的一本。
推荐 : 五星
4.
名称 : 道法自然
语言 : C++
评论 : 国人的精彩原创,相信大家早就听说过,看过。通过FishGUI这个实际项目阐述OO和模式。只是不习惯C++的朋友读起来可能有些障碍。
推荐 : 五星
5.
名称 : 模式的乐趣
语言 : java
评论 : 很薄的一本小书,通俗易懂,通过三个小例子讲解模式,消遣读物:)
推荐 : 三星
6.
名称 : 设计模式初学者指南
语言 : java
评论 : 书名严重误导,绝不适合初学者看。作者通过两个项目讲解模式,写的还是不错的。只是作者观点有些偏激,恐怕会引起.net程序员的反感。
推荐 : 三星
高级: 相信大家也猜的到,所有模式书籍配得上高级的也只有GOF那本了
名称 : 设计模式 可复用面向对象软件的基础
语言 : C++, 少量Smalltalk
评论 : 没什么可说的,大家都清楚:)。除非GOF自己出第二版,否则无法超越。即使没有能力通读也应该买一本作为终极参考
推荐 : 五星
本文仅仅抛砖引玉,希望大家补充自己看过翻过的书。其中国外五星级的三本书已经提供电子版.
阅读(1065) | 评论(0) | 转发(0) |