Using Design Patterns in C++
Using Design Patterns in C++
Module 1: Introduction to Design Patterns
- The use of design patterns
- Implementation requirements
- Library design
Module 2: Factories
- Factory methods
- Abstract factories
- Boost implementations
- Using factories
Module 3: Other Methods of Creating Objects
- Virtual constructors and Prototypes
- Builders
- Object Pools
- Generic Implementations
Module 4: Adapters and Delegation
- Delegation
- Object adapter
- Class adapter
Module 5: Abstraction and Implementation
- Template methods
- Strategies
- Bridges
Module 6: Singletons
- Use of singletons
- Using Boost to reduce code
- Lifetime issues
Module 7: Decorators and Policies
- Flexible extension of functionality at runtime
- The decorator inheritance
- When not to use decorators
- Using generic policies
Module 8: Commands
- The need for storing commands
- Using function objects
- Do, undo and macro recording
- Chaining using composites
- Generic implementation
Module 9: Observers
- Event handling basics
- First solution: function objects
- Using Boost’s signals and slots
Module 10: Miscellaneous Patterns
- Facade
- Iterators
- Servant
- Memento