2003年的下半年,侯捷先生应北京一家企业的邀请来讲授STL课程。那时候我刚到CSDN工作,代表CSDN接待侯先生,从而有机会在现场聆听侯老师讲授课程。侯先生的授课风格细致清晰,丝丝入扣,一丝不苟。我们在平时学习中难免会留下一些似是而非的地方,经过他的梳理,都能一扫而清,胸中有豁然开朗的感觉。在讲课中,侯老师偶尔会涉及到设计模式的内容,虽然不是重点,但是阐述清晰透彻,令我大感兴趣。设计模式人人都了解一点,但是要说深入理解者,绝对罕见。再如果说能够灵活应用,而又恰到好处者,绝对是凤毛麟角。一部薄薄的《设计模式》,道尽面向对象设计精髓,然而能够苦心孤诣参透其真谛的又能有几人?当时侯先生结合STL中的实例,对个别设计模式电光火石般的一点,确实让我有恍然大悟之感,心说,这不比苦读GoF来的有效得多?何况我连苦读GoF都做不到。
会后,我急切地问他是否有专门讲授设计模式的课程,并且建议他,设计模式绝对是比STL更受瞩目、受众更广、对听众益处更大的课程,应该尽快准备、尽快推出。凭侯先生的名望、对技术的把握和表达能力,再加上当时设计模式话题之热火,一定能赢得“社会效益和经济效益双丰收”。
没想到侯先生委婉地拒绝了我的建议,他说,他走的一条路,可以说是软件技术中的内功之路,摒弃了业界的嘈杂,静心明志,从一流的软件代码和著作文章中体会面向对象设计的精髓,这是很难走也很漫长的一条路,不可能有很多人走这条路。他的目的,就是把技术中的精髓发掘出来,分享给别人,让别人不必走这条路,也能够练好一身技术内功。因此,不讲则以,讲就一定要讲自己有把握、有体悟的东西,否则就是对听众不负责任,对自己选择的人生道路不负责任。他认为,在OO技术中,Design Patterns是相当高级的一个阶段,理解不宜,应用尤为不易。然而一旦掌握,确实将成为设计者的“牛刀”,不但在工作品质能够获得巨大提升,而且更重要的是个人设计素养将跃升,得以迈入设计师、架构师层次,意义相当重大。也正因为意义重大,作为他来讲,更加谨慎。在当时,他虽已有所心得,而且也知道,他的认识和把握已经在俗流之上,但是还没有参透这个主题,还没有达到他对自己的要求,因此不能拿出来。
我深为侯先生对于技术之认真执着和律己之严而折服,心里想,不知道什么时候侯先生能够把设计模式参透,那将是一门何等精彩的课程!
将近四年过去,期间侯先生每年都来内地讲课,但仍以他早已经烂熟于心的C++、STL、Application Framework为主。两年前他在对高校学生的授课中已经开始尝试设计模式初阶介绍的主题,然而对他来说,面向一线开发者讲授设计模式的高级技术,却一直是在准备当中的课程。一个人对自己要求的严格,竟然能达到这样的地步!
说实在的,技术界每天big words满天飞,“设计模式”早就不再是人们的焦点话题了,我也几乎忘了侯先生的这份坚持了。然而前不久,上海祝成科技的李建忠兄告诉我,侯先生将来内地面向企业开发者教授设计模式课程了。我知道这个消息,大出一口气,心里明白,这门学问侯先生已经参透了,否则他是不会拿出来示人的。如今技术界的浮躁,比之当初尤烈有加,侯先生的这种精神,恐怕快绝迹了吧!
很有些技术企业的负责人为自己团队成员的平庸而着急,为什么有的人能够很快成长起来,有的人总是停滞不前?我觉得技术人员成长过程中的一个关键点在于是否能“感觉”出设计的“好歹”。知道什么是好的,什么是不好的,自然就有了前进的方向。而设计模式最大的价值,恰恰在于帮学习者培养这种品味,因此可是说是卡在从平庸到优秀的必经之路上,不过这一关,很难说对“软件设计”这回事的认识能有什么层次。而此关一过,境界已是不同。我相信侯先生准备好的这个高级设计模式课程,对于相当多的开发者来说,真的是技术人生成长中难得的良机。回想起四年前的事情,有些感慨,也诚心诚意地希望给侯老师的课程呐喊助威。
侯先生在北京的课程将在5月25日至27日之间进行,有兴趣了解课程详情的,请到
这里了解详情。
分享到:
相关推荐
QT库是C++中广泛使用的跨平台应用开发框架,它为构建用户界面和应用程序提供了丰富的功能。设计模式作为软件工程中的重要概念,是解决常见问题的成熟解决方案模板,能够提高代码的可重用性、可读性和可维护性。...
- **侯捷教授推荐的书籍**:《DesignPatterns於Java語言㆖的實習應用》,作者结城浩,该书提供了详细的Java设计模式的应用示例,并附带源码。 综上所述,侯捷教授的讲义主要涵盖了设计模式的基础知识、在实际开发中...
侯捷老师在南京大学和同济大学授课的课堂讲义
感谢侯捷先生,先生言传身教,荣耀受益终生。感谢姜宏先生,在我最繁忙之际,您的鼎力相助使得本书初译工作得以如期完成。感谢内人朱艳,您给予的理解、支持和无微不至的照料永远是我前进的动力。
GoF是指四位著名的设计模式专家Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides所共同撰写的一本书《Design Patterns: Elements of Reusable Object-Oriented Software》。书中介绍了23种设计模式,它们...
11. **设计模式(Design Patterns)**:书中也涉及了一些常见的设计模式,如工厂模式、单例模式和观察者模式,这些模式可以帮助解决复杂问题。 通过阅读《More Effective C++》,程序员可以深入理解C++语言的精髓,...
5. **设计模式**:例如《Design Patterns》和《Large Scale C++ Software Design》,探讨如何运用设计模式来提高代码质量和可维护性。 6. **实践技巧**:例如《Effective C++》、《More Effective C++》和...
综上所述,侯捷先生在南京大学讲授的内存管理课程内容涵盖了从基础概念到高级技术的多个方面,不仅包括了C++中的基本内存操作,还深入探讨了内存池、嵌入式指针、以及标准模板库和其他第三方库中的内存管理机制。...
10. 《C++ ļ》(C++ Design Patterns and Derivatives):这本书探讨了C++中的设计模式和泛型编程,是学习C++设计模式的好选择。 这些书籍覆盖了C++的基础、进阶到实践应用的各个方面,对于想要全面掌握C++的...
设计模式(Design Patterns)则是面向对象编程领域中解决特定问题的模板化解决方案。在《C++新思维》中,设计模式与泛型编程相结合,向读者展示了如何运用设计模式思想来指导泛型编程,从而达到更高级别的代码复用和...
9. **《Design Patterns》**(Gang of Four):阐述了23种设计模式,是软件设计的基石,对于理解和实现可重用、可扩展的代码非常有帮助。 10. **《Thinking In C++》**:Bruce Eckel的著作,是一本全面介绍C++的...
**设计模式(Design Patterns)** 设计模式是解决软件设计中常见问题的经过验证的最佳实践。它们是面向对象编程中的一种经验总结,提供了在特定上下文中解决常见问题的结构化方法。设计模式分为三类:创建型、结构型...