《设计模式 : 可复用面向对象软件基础》
这本书还没看完,但是绝对是案头必备,虽然用 C++写的代码,并且是四个牛人写的风格 ( 相关知识背景与程序员不同 ) ,但是一旦开始理解设计模式以后,再回过头会发现这本书的定义和描述最容易理解和记忆。
《Head First 设计模式》
自学、初学的推荐用书。我也是通过这本书才真正明白设计模式。虽然,GoF 提出了 23 个模式,但是,只要把主要几个搞明白了,就算入门了,其他的模式只有真正实践的时候才会需要,否则看了也就是了解一下。
《Java 与模式》
十年前,我绝对认为是本好书。因为那个时候可以参考的中国人写的设计模式的书实在太少,但是现在我对这本书的评价只能算可以了。因为作者的举例跟我的项目经验没有重叠,作者对古典文学的运用反而又给我理解设计模式增加了困难,因此这本书不再作为我推荐的书,只作为看完《Head First 设计模式》后的补充阅读,并且不需要太关注书中的代码和那些文学描述,只看作者关于模式与实际应用的描述就可以了。
《设计模式解析》
这本书不推荐。除非你有过一些设计模式的理解,并且还有实际项目的设计经验,否则这本书对初学的帮助不是很大。我的感觉作者应该是用来作为自己上课的教材,因此这本书除非可以跟着作者边学边读,否则自学会觉得只讲了些理念上的东西,能够帮助理解模式的项目或者代码是不足的。
《设计模式初学者指南》
第三次放弃读这本书,主要是对我不太实用,而且作者的思路也与我不同,读起来不太顺畅。每次重读个几次才明白作者想表达什么,作者是个好程序员,写的代码也非常漂亮,只是比较关注细节和自我实现过程中的理解,对于经常写代码的 Java 程序员可能帮助会更多些,对于只是想了解概念和思路就显得有点啰嗦了。
《设计模式之禅》
《Head First 设计模式》已经看懂,《Java 与模式》已经读完,设计模式的基本概念已经明白,Java 的模板和枚举编程也能正确理解。那么这本书可以用来巩固对设计模式的理解。当然也可以跳过《Java 与模式》先读这本书,相对来说这本书还容易理解,代码的质量也好,特别是对模式实现的标准代码 ( 不是例子代码 ) ,完全符合 GoF 书上的概念。通过对这本书的代码阅读和实践,对于学习设计模式基本可以收关了,剩下的应该就是在实践中的应用了。
补充 : 理解设计模式最好的方法就是项目与代码,并且在不断地重构项目和代码中加深理解。对于别的什么例子,看起来似乎对理解有帮助,但是听多了只会更加糊涂。