学习设计模式应该读哪些书
来源:互联网 发布:程序员发表文章的博客 编辑:程序博客网 时间:2024/06/06 08:33
国内目前能够找到的有关设计模式的书按照出版时间排列有以下几本(含点评):
大师之作,经典作品,言简意赅,归纳充分。可惜中文版翻译质量很低,有些句子不通顺,好像是机器翻译的,有个别难译的句子干脆没有翻译(如Chain of responsibility一章的适用性一节的and the handler isn't known a priori.这一句就没有翻译),另外代码是C++的,较难懂;还有就是出版时间较早,实例代码对于如今国内的应用开发不大实用。
国人早期的设计模式的书籍,勇气可嘉,但是头几章试图用中国的传统文化阐述设计模式的道理,让人感到云里雾里的,加深了对设计模式的神秘感,很快就打消了阅读的念头
开创了设计模式通俗读物的先河,老外们很喜欢,中文版翻译得也不错,用Java写的代码,但是感觉其中的例子(比如披萨的制作)不大和国人的胃口,另外有些人不喜欢书里卡通的风格
开创了国内设计模式通俗读物的先河,用C#写的代码,感觉其中一些例子不大实用和贴切,比如学雷锋和追女孩。
行文活泼,深入浅出,引人入胜,包含了大量的和较新的使用Java灵活运用设计模式的经验,用Java写的代码,代码短小精悍,但有些例子不大实用和贴切,如女娲造人。
文风相对来说较严谨,同样包含了大量的和较新的使用Java灵活运用设计模式的经验,用Java写的代码,代码更多地取材于实际的项目,更加实用。
设计模式的学习成本较高,在有限的时间里,感觉使用下面的方法能够最大限度的加快学习的步伐(适用于Java程序员):
1. 先通读《设计模式之禅》,打消设计模式的神秘感,读完后,有时间,还可以阅读《研磨设计模式》
2. 再阅读GoF的《设计模式》(有条件可以直接阅读英文版),可以不关注其中C++的代码,而主要关注该书对各种模式的概念上的介绍和归纳对比,特别关注第一章引言,每个设计模式的意图、适用性、结构类图、时序图、参与者、协作、效果和相关模式,第六章结论,图1-1设计模式之间的关系,1.6.7节导致重新设计的一般原因归纳,表1-2设计模式所支持的设计的可变方面的归纳,1.7怎样选择设计模式,1.8怎样使用设计模式。
3. 再利用《设计模式之禅》或《研磨设计模式》的相关Java实例代码,结合GoF的结构类图,找出Java代码中的参与者,便于记忆
总之,用GoF对于设计模式概念的论述和归纳,结合《设计模式之禅》和《研磨设计模式》的Java的例子来学习,会让思路更清晰,学习效果更好。
1 0
- 学习设计模式应该读哪些书
- 架构师应该掌握哪些设计模式
- 架构师应该掌握哪些设计模式
- 学习软件测试应该读哪些书
- 我们应该读哪些书
- 学习C++,应该循序渐进看哪些书?
- 【操作系统】:学习操作系统应该用哪些书
- 哪些设计模式最值得学习
- 哪些设计模式最值得学习
- 大学应该学习哪些课程
- 软件概要设计应该体现哪些内容
- 大学生应该学习哪些电子知识
- [转]大学生应该学习哪些电子知识
- 学习日语应该先掌握哪些内容?
- 大学生应该学习哪些电子知识
- 评论:大学生应该学习哪些电子知识
- 学习php应该注意哪些问题
- 激励一下自己,应该学习哪些东西
- js获取Html元素的实际宽度高度
- Anaconda下安装opencv
- netty 学习资料
- yii 多条件查询,分页
- 并查集算法----犯罪团伙(黑科技)
- 学习设计模式应该读哪些书
- ElasticSearch 安装和初学
- 函数wcd_swr_ctrl_add_devices()分析
- 【暂无】 并查集 犯罪团伙(gang.cpp)
- ios developer tiny share-20161010
- hidpi-canvas-polyfill.js 多次调用canvas.getContext('2d') 导致画布放大问题
- 解决编译安装mariadb,make错误"make[1]: *** [unittest/mysys/CMakeFiles/aes-t.dir/all] Error 2"
- 一天一条Linux指令-内核查看
- js获取Html元素的实际宽度高度