/*

课程名称:C++/OOP/Design-Patterns ─ 从专家经验中学习
          C++/OOP/Design-Patterns, learn from experts

课程主旨:以四本经典书籍为依据,学习 C++/OOP/Design-Patterns 的专家经验
          1. Effective C++ 2/e, by Scott Meyers.
          2. More Effective C++ 2/e, by Scott Meyers.
          3. Exceptional C++, by Herb Sutter.
          4. Design Patterns, by Gamma, etc.

学员基础:C++ 编程与开发经验愈多愈好
课程需时:24 小时

课程大纲:

挑选以下之专家准则做为课程主题,并从中衍生新的议题。
这些专家准则都有做为 coding standard 的价值。

■ C++/OOP
o. 良好的编程基本素养
   for efficiency
   for exception
   for memory management
   traps and pitfalls
   misc.
o. 良好的物件导向观念
   Classes and Functions : Design and Declaration
   Classes and Functions : Implementation
   Inheritance and Object Oriented Design
o. 复用性(Reusibility)
   Data Structures(STL 泛型容器)
   Algorighms(STL 泛型演算法)
   Iterator(STL 泛型指标,迭代器)
   Designs(设计样式)
o. 设计样式 (Design Patterns)
   Virtual Constructor
   Singleton
   Smart Pointer
   Reference Counting
   Proxy
   Double Dispatching

■ Design Patterns
   Singleton
   Iterator
   Adaptor
   Bridge
   Template Method
   FlyWeight
   ...

教材:

■本课程选用之专家经验来自四本书籍,并以此四本书籍为教学依据。
学员最好自备以下四本书籍,尤其书籍 1,2 将於课程中大量使用。
1. Effective C++ 2/e, by Scott Meyers.
   《Effective C++ 2/e 中文版》侯捷译/培生/2000
2. More Effective C++ 2/e, by Scott Meyers.
   《More Effective C++ 中文版》侯捷译/培生/2000
3. Exceptional C++, by Herb Sutter.
   《Exceptional C++ 中文版》侯捷译/培生/2000
4. Design Patterns, by Gamma, etc.
   《物件导向设计模式》叶秉哲译/培生/2001

■补充讲义(由讲师准备,邀课单位自行影印):
本课程以 SGI STL source 讲解数个 design patterns 的实作。
这些 source code 由讲师摘录重点片段,制作成讲义提供给学员。

■其他书籍建议:

C++ 语法基础,建议使用:
1. C++ Primer 3/e, by Stanley Lippman & Josee Lajoie
  《C++ Primer 中文版》(侯捷译/  峰/1999)
2. The C++ Programming Language 3/e, by Bjarne Stroustrup.
  《C++ 程式语言经典本》(叶秉哲译/儒林/1999)

提纲契领涵盖全面之书籍,建议使用:
1. 《多型与虚拟》第二版,侯捷着/  峰/2001
2. 《泛型技术》,侯捷着/  峰/2001

*/