陆陆续续又看了一些技术书,加上最近工作任务繁重,实在没时间写技术类的博文,计划断断续续写一些书的阅读评论。今天先写一本,
最近阅读的书并不都是最新的,因为些书的确是需要花时间反复研读,仔细思考的,例如关于设计模式的书。
Refactoring to Patterns就是这样一本书,一本相对来说不算太新的书,一本关于设计模式的书,一本让人从新开始思考模式的书。我本人强烈推举大家阅读。
这本书刚出来的时候,我就一直想好好静下心来读一读,无奈工作忙碌,一直没有找到机会。而且说实话,自己对设计模式也已经浸淫数载,大部分模式都已经在实
际项目中历练过,不说炉火纯青,也算得上是熟能生巧。虽然知道这是一本好书,但是心里依然会泛起阵阵涟漪:just another design
pattern
book,给我一天时间,我就能把它拿下。没想到从开始读到现在已经2个多月了,现在依然会抽时间出来翻看某个章节,然后结合实际问题仔细思考一番。说实
话,设计模式真的是个好东西,是前辈经验的积累,但是当我们熟练掌握了各种模式之后,就会遇到两个瓶颈性质的问题:
1. 如何将各类模式融汇贯通。感觉就像是武侠里面的如何将任督二脉打通,功夫再好,任督二脉不通也非高手,不同的模式相互作用会产生不同的结果,不同的模式组合会产生不同的结构,或相互补充相互促进,或互相影响互相抵制。如何选择,是个难题。
2. 如何避免过度设计。模式用熟的朋友可能会有这种感觉,编程的时候会不知不觉中使用模式进行开发,模式再好,泛滥使用,过犹不及。好像武功一般,招式繁多,固然耍起来好看,但是高手最后的境界往往是无招胜有招,只要能目的达到就行了。
第一个问题由于模式之间的组合千变万化,而且很多需要结合实际问题进行考虑,大家只能是在实际项目开发中慢慢体会,慢慢积累经验。或许再过几年会有某个人或者某些人把这些经验收集整理,编排出书。
今天主要想说说第二个问题:过度设计。 Refactoring to Patterns这本书就是帮助我们尽量避免过度设计的,这也是我推荐大家看这本书的初衷。
事实上,这本书完全可以看成是极限编程系列里面的一部巨头著作,其他的重要著作包括TDD,Refactoring,和continuous integration,合起来应该称为XP四大金刚。
使用XP开发强调keep it
simple,在编码的时候首先用最简单的办法实现功能(当然最好是测试驱动,我会在评论下面一本书是继续谈测试驱动),然后在测试代码的保护下对初级代
码进行大刀阔斧地重构,这时候这些代码自然最好能够重构成设计模式,因为针对某些特定的问题,模式基本上是最佳解决方案。这个时候就大家就需要了解如何将
现有的代码重构成为标准的设计模式代码,说的严重点,这一步关系到整个代码的质量,直至引申到真个项目的质量。这本书就针对这个关键步骤进行了讲解,是所
有采用XP方法的开发团队的必修课之一。
至于书的内容我就尽量简单概括一下:本书基本上覆盖了重构项目中会遇到的大部分问题,并且针对这些问题提供了实例讲解和具体的解决方案。这些方案不单单适
用于使用TDD开发的项目,它们更适用于那些希望通过重构改善现有代码质量的项目。当然,重构前,千万别尝试避开编写测试代码,要牢记,没有测试代码保
护,最好不要对代码做大手术。书中的很多例子都值得大家读完以后结合自己的实际项目仔细思考一番。我个人很喜欢第7章,已经在项目中采用了书中提到的很多
解决方案,并且对于某些实际例子,开始尝试优化书中的方案,希望以后能够抽出时间来写一篇详细的博文。
声明:本文版权归作者所有,如需转载请注明出处。