要沉思也要实践
2010-08-17
可能有个误解,就是我们通常读的第一本设计模式读物都是四人帮的经典:设计模式。书确实好,但又确实不适合新人去读,或者应该这么说,这本书确实不应该成为新人唯一一本学习设计模式的书。因为太概念,四人帮的书非常学术和教科书化像一本参考书更像一本词典。如果没有一定的功底很难理解里面一些画龙点睛的文字。
这本沉思录倒是很不错,书不厚,也不是要追求全面的阐述。没有一上来就劈头盖脸的跟你阐述23个模式怎么这么样。而是从一些误解讲起。我觉得对于设计模式来说最大的误解莫过于什么人该学设计模式什么时候使用设计模式了。
这本书就阐述的很清楚,其实设计模式是一种编程技术,所以不要在写完10W行代码之后再去学设计模式。
以前每当晚辈拿本设计模式的时候,长辈都会语重心长的告诉晚辈,多些代码吧,这个你现在还看不懂。这明显是对设计模式的一种误解。
设计模式关注的是微结构而不是宏观结构,所以恰恰在平常的coding中设计模式是经常要运用的,特别是你在解决一些小问题的时候。所谓写10W行代码才能了解大多都是宏观结构,比如分布,部署,集成等等。
所以无论你什么水平,只有有志于在计算机应用领域解决更多问题话,应该早点去读设计模式,早点去学习如果使用设计模式。
当然在软件行业被误解的又岂止是设计模式,对于面向对象,c++都有很深的误解。设计模式是针对面向对象的设计范式的,所以里面不涵盖过程式和函数式的东西。元编程也不会涉及。而面向对象仅仅是C++支持的编程范式之一。面向对象的精髓是基于接口的编程,所以核心是多态.大多数人平常见到什么就写个类 那不叫面向对象
Vlissides是one of四人帮,他用很多生动的例子讲解了如何学习在平常编码过程中使用设计模式。就像写作文一样,开始可能是是生硬的套用,然后慢慢活学活用直到游刃有余。
相关的几本也很值得推荐:反模式,敏捷建模实践等