In this course, you will learn how to write C++ programs that are extensible, flexible, maintainable, modular, portable, reusable, and understandable.
Prerequisites
Completion of an introductory course in C++. One year of experience programming in C++.
Course Outline
- Introduction, MVC, Roles, Interface-vs-Implementation
- The Clone Idiom, The Prototype, Factory Method Design Pattern
- How to Disable Copying and Assignment in a Class
- Comparing Prototype, Factory Method, and Singleton Design Pattern
- Abstract Factory, Bridge, Proxy, Auto Pointer, Reference Counting, Iterator Design Pattern, Composite Design Pattern
- The Flyweight, Interpreter, Visitor, Design Pattern
- The Chain of Responsibility Design Pattern
- The Memento, Command Design Pattern
- The All Of Me Idiom
- The State, Decorator, Observer, Facade, Template Method Design Pattern
- The Mediator and Strategy Design Pattern
- Categorizing, References