课程说明
令学员对Design Patterns有足够、具体、深刻的认识,以及获得 "他山之石" 的实例体验。
课程特色
特别强调 "从实例中检验和学习",实例全部取自知名 libraries如C++ 标准库, Java标准库, Loki, MFC, Boost,避免玩具示例 (toy programs)。您将能够从这些精选的patterns中极深层地理解大型框架为什么选用这些 patterns 及其在庞大体系考量下所选择的实现手法。
课程对象
C++/Java/C# 中高阶学员 (本课程之实例以 C++ or Java 呈现, 技术概念则适用于所有面向对象语言)
课程大纲
1. Overview & Concepts & OO Principles (15 min.)
2. Design Patterns in GoF :
Adapter (75 min.) – 以 C++ 标准库之Stack, Queue, Binder 为实例
Chain of Responsibility (60 min.)– 以MFC之Message Map为实例
Composite (30 min.) - 以File System simulation和Java AWT & Swing (Windowing System)为实例
Decorator (30 min.) - 以Java I/O system 为实例
Object Factory (90 min.) – 以MFC之Dynamic Creation为实例
Iterator (30 min.) - 以C++标准库和Java标准库之Iterators为实例
Observer (30 min.)- 以MFC之Document/View和Java标准库之Observer Interface为实例
Prototype (30 min.)– 以一个精巧绝伦之范例进行解说
Template Method (30 min.) - 以MFC之CDocument为实例
Design Patterns beyond GoF:Reference Counting (75 min.) + Proxy (30 min.) – 以C++ 标准库之std::string为实例
Undo/Redo (75 min.)– 以Java标准库之Undoable classes为实例