1 Design Patterns CPP Creational m1 Slides
1 Design Patterns CPP Creational m1 Slides
1 Design Patterns CPP Creational m1 Slides
Preliminaries
Dmitri Nesteruk
@dnesteruk dn@activemesa.com http://activemesa.com
Introduction
Design patterns are common
architectural approaches
Popularized by the Gang of Four book
(1994)
Smalltalk & old C++
Translated to many OOP languages
C#, Java, …
Universally relevant
Internalized in some other languages
Language extensions (non-standard C++)
Libraries
Course Overview
First in a series of courses on C++ Design Patterns
- Covers creational patterns
Covers every pattern from GoF book
- Motivation
- Classic implementation
- Pattern variations
- Library implementations
- Pattern interactions
- Important considerations (e.g., testability)
Patterns demonstrated via live coding!
Demonstrations
Uses modern C++ (C++11/14/17)
Demos use Microsoft Visual Studio 2015, MSVC, ReSharper C++
Some simplifications:
- Classes are often defined inline (no .h/.cpp separation)
- Pass by value everywhere
- Liberal import of namespaces (e.g., std::) and headers
Course Structure
Dmitri Nesteruk
@dnesteruk dn@activemesa.com http://activemesa.com
Module Overview