/*

課程名稱: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 中文版》(侯捷譯/眳p/1999)
2. The C++ Programming Language 3/e, by Bjarne Stroustrup.
  《C++ 程式語言經典本》(葉秉哲譯/儒林/1999)

提綱契領涵蓋全面之書籍,建議使用:
1. 《多型與虛擬》第二版,侯捷著/眳p/2001
2. 《泛型技術》,侯捷著/眳p/2001

*/