"设计模式讲稿-2007.pdf 中文版 侯捷 侯俊杰"
本文档是著名IT专家侯捷与侯俊杰共同编写的关于设计模式的讲稿,主要涵盖设计模式在实践中的应用,以及面向对象编程的原则。文档中提到了C++领域的八本经典书籍,这些书籍对理解和掌握C++语言,特别是深入设计模式有极大的帮助。
首先,文档提及了C++的"八大金刚",这是对八本具有里程碑意义的C++著作的昵称:
1. "Essential C++" by Lippman - 适合初学者,专注于C++的核心概念。
2. "The C++ Programming Language" by Bjarne Stroustrup - C++之父的权威之作,深入细致,适合寻求全面理解的读者。
3. "C++ Primer" by Lippman - 长期畅销的C++教程,是C++学习者的首选。
4. "Inside the C++ Object Model" by Lippman - 揭示了C++对象模型的底层细节,难度较高。
5. "Effective C++" - 通过50个编程实例展示了专家的编程技巧,易读且富有启发性。
6. "More Effective C++" - 通过35个实例进一步深化了专家级别的C++编程技巧。
7. "The C++ Standard Library" - 对C++标准库的详尽指南,是开发者的必备参考书。
8. "设计模式:可复用面向对象软件的基础" - GoF的设计模式经典,介绍了23种经典设计模式。
讲稿还涉及了设计模式的理论基础,如OOP原则,以及GoF(Gang of Four)提出的23种设计模式。GoF的设计模式包括结构型、行为型和创建型模式,是面向对象设计的重要组成部分,它们提供了在特定情况下解决常见问题的模板。
此外,讲稿还探讨了超越GoF设计模式的主题,如引用计数(Reference Counting),池化分配(Pooled Allocation),智能指针(Smart Pointer)以及基于策略的编程(Policy-based programming)。这些概念都是现代C++编程中提高代码质量、管理和复用性的关键工具。
在Java环境中,讲稿可能也涵盖了如何将设计模式应用于实际编程,比如通过结城浩的作品《DesignPatterns於Java語言㆖的實習應用》,该书提供了具体的实践案例,并以The zlib/libpng License发布,允许广泛使用。
最后,文档提到了组合(Composition),这是一种重要的面向对象设计原则,指的是一个类的对象包含其他类的成员,即"has-a"关系。组合可以实现更灵活的代码结构,增强了代码的复用性和可扩展性。
这份讲稿提供了丰富的设计模式和C++编程实践知识,是提升编程技能和深入理解面向对象设计的宝贵资料。