What you'll learn

  • Understand what creational design patterns are

  • How creational design patterns solve object construction problems

  • Implement creational design patterns using Modern C++ features

Course Features

  • Full lifetime access
  • Access on mobile
  • Certificate of Completion

    What you should know before enrolling in this course

    • Basic knowledge of C++
    • Good understanding of Object Oriented Programming

Course Description

This course aims to help you understand & implement Creational Design Patterns. Each pattern is explained with multiple examples and through modern C++. This helps you understand how the pattern can be implemented efficiently using language features. I provide real-world  examples written in Modern C++. These examples will compile & execute on any platform that supports a C++ compiler.

You'll learn patterns using the following process:

This is an intensive discussion that spans multiple lectures. At the end of each section, you'll understand the pattern in depth and can apply it in your code or easily clear any design interview.

Course curriculum

  • 2

    Basic Concepts

  • 3

    Singleton Pattern

    • Source Code

    • Introduction

    • Basic example

    • Logger Class - I

    • Logger Class - II

    • Lazy Instantiation

    • Destruction Policies

    • Issues in Multithreading Environment

    • Issues with DCLP

    • Meyers Singleton

    • Using std::call_once

    • CRTP Idiom with Singleton

    • Clock Class

    • Monostate Pattern

    • Singleton Vs Monostate

    • Singleton Issues

    • Registry of Singletons - I

    • Registry of Singletons - II

    • Pros & Cons

    • Course Review

  • 4

    Factory Method

  • 5

    Object Pool

    • Source Code

    • Introduction

    • Basic Example

    • Pooing Game Objects - I

    • Pooing Game Objects - II

    • Multiple Actors - I

    • Multiple Actors - II

    • Multiple Actors - III

    • Generic Reusable Pool - I

    • Generic Reusable Pool - II

    • Pros & Cons

    • Course Review - Reminder

  • 6

    Abstract Factory

    • Source Code

    • [Introduction

    • Basic Example without Abstract Factory

    • Basic Example with Abstract Factory

    • Database Framework Introduction

    • Database Framework Implementation

    • SqlServer Database Classes

    • MySql Database Classes

    • Database Framework Usage

    • Using Factory Method

    • Using Abstract Factory

    • Pros & Cons

  • 7


    • Source code

    • Introduction

    • Overview of Cloning & Types

    • Basic Example

    • Game Introduction

    • Game Implementation - I

    • Game Implementation - II

    • Game Implementation - III

    • Cloning Example

    • Prototype Implementation - I

    • Prototype Implementation - II

    • Prototype Implementation - III

    • Classes Vs Objects

    • Varying State

    • Prototype Manager - I

    • Prototype Manager - II

    • Memory Management

    • Pros & Cons

  • 8


    • Source Code

    • Introduction

    • Basic Example

    • File Example Introduction

    • Issues

    • Builder Implementation

    • Construction Using Builder

    • Modern Implementation

    • Fluent Builder

    • Pros & Cons

  • 9

    Test your knowledge

    • Quiz

    • Before you go...


Owner at Poash Technologies & Poash Learning

Umar Lone

Civil engineer who found his calling in software development. Never worked as a Civil engineer, jumped at the first chance and started teaching C++, Visual C++ & COM 18 years ago. Currently, trains software professionals in various IT companies in India in different technologies, such as C++, Advanced C++, STL, Design Patterns, Android, Unity, Linux, etc. Very passionate about teaching and has trained more than 35,000 software professionals in a teaching career spanning more than 2 decades. An avid gamer, currently trying his hand with game development in Unity & Unreal. Has a few Android applications to his credit, including one on Design Patterns. Only thing he likes more than C++ is Modern C++.


  • Why should I purchase this course?

    This is one of a kind course on Design Patterns with examples that use Modern C++ features. (C++11/14/17).

  • The same course is also available on Udemy & other platforms. Why should I purchase from here?

    Because you'll have direct access to the instructor and can ask for support anytime during your learning.

  • How soon are the student queries answered?

    In 1 hour or less, depending on the student time zone.

  • What do I get when I purchase this course?

    Access to the course videos, source code & slide deck.

  • What if I don't like the course & want a refund?

    You can get a refund within 30 days after purchasing the course, as long as the course engagement is less than 30 minutes.

  • Can I watch this course on a mobile device?

    Yes, and you don't have to download any app. The website is optimized for viewing on all mobile devices (Android/iOS).

  • Can you also do a live training for a group of students or a company?

    Certainly. Send an email to enquiry@poash.com.

  • I've some more questions.

    We'll be glad to answer. Just send an email to enquiry@poash.com.

New course notifications

Add your email to the mailing list to get the updates about new courses, live training, coupons & special offers