设计模式学习路线图
很多人都认为设计模式很有用,但是在阅读GOF的那本《设计模式 可复用面向对象软件的基础》时,发现比较难于理解。我想可能是学习的顺序欠妥。在这里我把自己摸索出的学习设计模式的过程与大家分享。以下仅代表个人观点。
由于目前为止,我一直使用C++,请使用其他语言的网友们见谅。
1) 准备工作
很多设计模式都使用到了虚函数机制,也就是C++中的多态。因此对于虚函数的实现原理以及运行机制的了解,就变得重要了。在这里推荐大家阅读《深度探索C++对象模型》,重点是第四章和第五章。
当然,在阅读过程中,适当的编码练习是需要的。
2) 初步进阶
每个设计模式的学习难度各有不同,因此从比较容易理解的模式入手,小心仔细理解就成为了这时的重点。在这里推荐大家阅读《设计模式解析》,最好是能够通读所有章节。
3) 深入学习
因为前面两步已经学习了一些比较容易理解的设计模式,此时学习的难度就需要增加。向大家推荐的书是久负盛名的GOF的《设计模式 可复用面向对象软件的基础》。这本书写的比较难于理解,相信很多人已经读过了,在这里就不多说了。
4) 消化理解
在学习完GOF的大作之后,需要结合一些设计模式的具体应用实例,以便加深理解。在这里推荐《STL源码分析》、《COM本质论》和《建筑的永恒之道》。
当然还会有其他的书籍,讲述不同设计模式在实际系统中的应用,欢迎广大网友推荐。谢谢。
5)拓展视野
其实设计模式并不只是GOF所提到的23种,还有很多其他的模式。在这里推荐《面向模式的软件体系结构》,没有什么其他的理由,只是自己看过这套书,感觉不错而已。
以上是我在学习设计模式过程中摸索出的学习路线,希望对刚刚接触设计模式的同仁有所帮助,并欢迎广大网友作出评论。谢谢。