Complete Design Patterns in Modern C++

Learn all 23 gang of four design patterns applied in modern C++ with multiple case studies & examples.

Image14

Course Description

For C++ developers, the path to transitioning from writing functional code to architecting sophisticated, resilient, and maintainable software is built on the effective use of design patterns. In the world of complex software development, these proven solutions are what separate a brittle, tangled codebase from an elegant, scalable system. This comprehensive course is meticulously crafted to bridge the gap between classic software design theory and the practical realities of programming with modern C++. It offers a detailed examination of the foundational design patterns that have guided software engineering for decades, but with a crucial, contemporary twist: implementing them using the full power and expressiveness of C++11, C++17, and beyond.

Features

28-hrs On Demand Video

Exclusive 1-on-1 With Instructor

Course Completion Certificate

Priority Q/A

Full Lifetime Access

Community Access

Curriculum

🎨 Creational Patterns

Course Introduction

📞 Exclusive 30-Minute Session

📊 Course Material

📄 Source Code

Introduction To Patterns

Overview of Class Diagram

Overview of Creational Patterns

S.O.L.I.D. Principles

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

Progress Update

Introduction

Basic Example - I

Basic Example - II

Application Framework Discussion

Application Framework Implementation

Application Framework through Factory Method

Parameterized Factory Method

std::unique_ptr

std::shared_ptr

Pros & Cons

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

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

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

Introduction

Basic Example

File Example Introduction

Issues

Builder Implementation

Construction Using Builder

Modern Implementation

Fluent Builder

Pros & Cons

🏅 Course Certificate

🏗️ Structural Patterns

Course Introduction

📞 Exclusive 30-Minute Session

📊 Course Material

📄 Source Code

Introduction To Patterns

Overview of Class Diagram

Overview of Structural Patterns

S.O.L.I.D. Principles

Source Code

Introduction

Basic Example

Game Input

Using Adapter

Adapter Implementation

Class Adapter

Pros & Cons

Review

Source Code

Introduction

Basic Example

Console Project - I

Console Project - II

Console Project - III

Console Project - IV

Console Facade on Linux

Pros & Cons

Source Code

Introduction

Basic Example

Virtual Proxy - I

Virtual Proxy - II

Virtual Proxy - III

Protection Proxy - I

Protection Proxy - II

Protection Proxy - III

Remote Proxy - I

Remote Proxy - II

Remote Proxy - III

Smart Proxy

Pros & Cons

Review

Source Code

Introduction

Basic Example - I

Basic Example - II

Streams - I

Streams - II

Streams - III

Streams - IV

Streams - V

Streams - VI

Decorator Types

Static Decorator

Functional Decorator

Pros & Cons

Source Code

Introduction

Intent & Implementation Overview

Basic Example

UI Example Overview

UI Example - I

UI Example - II

UI Example - III

Pros & Cons

simple2D Library Installation

Source Code

Introduction

Intent & Implementation Overview

Basic Example

Shapes Hierarchy - I

Shapes Hierarchy - II

Shapes Hierarchy - III

Shapes Hierarchy - IV

Issues

Bridge Implementation

Handle-Body - I

Handle-Body - II

Handle-Body - III

PIMPL - I

PIMPL - II

Static Bridge

Pros & Cons

Review

Source Code

Intent & Implementation Overview

Introduction

Basic Implementation

Game Implementation - I

Game Implementation - II

Game Implementation - III

String Interning - I

String Interning - II

String Interning - III

Boost.Flyweight

Pros & Cons

🏅 Course Certificate

🧠 Behavioral Patterns

Course Introduction

📞 Exclusive 30-Minute Session

📊 Course Material

📄 Source Code

Course Material (Slide Deck)

Introduction To Patterns

Overview of Class Diagram

S.O.L.I.D. Principles

Overview of Behavioral Patterns

Source Files

Introduction

Basic Example

SpreadSheet Application - I

Spreadsheet Application - II

Spreadsheet Application - III

Spreadsheet Application - IV

Spreadsheet Application - V

Dynamic Array - I

Dynamic Array - II

Dynamic Array - III

Dynamic Array - IV

Null Object Pattern

Static Strategy

Function Strategy - I

Function Strategy - II

Non-Member Strategy Pointer

Pros Cons

Review

Source Files

Introduction

Basic Implementation

Document Framework - I

Document Framework - II

Document Framework - III

Template Method - I

Template Method - II

Template Method - III

Pros & Cons

Source Files

Introduction

Intent

Basic Implementation - I

Basic Implementation - II

FindDialog - I

FindDialog - II

TextPad - I

TextPad - II

TextPad - III

TextPad - IV

TextPad - V

TextPad - VI

TextPad - VII

TextPad - VIII

TextPad - IX

Undo - I

Undo - II

Undo - III

Undo - IV

Undo - V

DataList - I

DataList - II

Pros and Cons

Source Files

Introduction

Basic Implementation

Account Class

Hangman - I

Hangman - II

Hangman - III

Hangman - IV

Hangman - V

Hangman - VI

Pros and cons

Source Files

Introduction

Basic Implementation

Help System - I

Help System - II

Logging System - I

Logging System - II

Logging System - III

Logging System - IV

Pros & Cons

Source Files

Introduction

Basic Implementation

Alarm System

Slide Deck - I

Slide Deck - II

Slide Deck - III

Slide Deck - IV

Sensor - I

Sensor - II

ChangeManager - I

ChangeManager - II

Pros & Cons

Source Files

Introduction

Basic Implementation

Chat System - I

Chat System - II

DialogBox - I

DialogBox - II

DialogBox - III

DialogBox - IV

Pros & Cons

Source Files

Introduction

Basic Implementation

Shapes Example - I

Shapes Example - II

Shapes Example - III

Shapes Example - IV

Shapes Example - V

Shapes Example - VI

Acyclic Visitor

Generic Acycle Visitor - I

Generic Acyclic Visitor - II

Variant

Overload Pattern

Pros & Cons

Source Files

Introduction

Basic Implementation

Lexing And Parsing

Boolean Evaluator

Boolean Interpreter - I

Boolean Interpreter - II

Boolean Interpreter - III

RPN Evaluator - I

RPN Evaluator - II

Pros & Cons

Source Files

Introduction

Basic Example

Lamp - I [NoState]

Lamp - II [Enum States]

Lamp - III [State Pattern]

Lamp - IV [Yellow State]

Lamp - V [Factory]

Transition Table - I

Transition Table - II

Methods for States - I

Methods for States - II

Methods for States - III

Methods for States - IV

Pros & Cons

Source Files

Introduction

Basic Implementation

Organization - I

Organization - II [Cursor]

Organization - III [Iterator]

Containers - I [Array]

Containers - II [List]

Containers - III [Issues]

Containers - IV [ArrayIterator]

Containers - V [ListIterator]

C++ Iterators - I

C++ Iterators - II

C++ Iterators - III [More Iterators]

Pros & Cons

🏅 Course Certificate

Why Do This Course

Build professional, maintainable, and scalable C++ systems that are built to last.

Boost your career by mastering skills that are essential for senior C++ roles and technical interviews.

Deepen your command of modern C++ features by applying them to solve real-world architectural challenges.

Develop the high-level architectural mindset required to design flexible systems and lead software projects.

Requirements

  • Basic knowledge of C++
  • Modern C++ compiler (Visual Studio 2022, gcc 13, clang 17)

Related Products

Additional products that may be relevant to your interests

Image23

Instructor


- Hello! I'm Umar Lone

I've educated and mentored students and professionals globally, leveraging over 20 years of experience in C++, Object-Oriented Programming, Design Patterns, and related technologies. My professional background includes significant contributions to C++, Java, and C# projects with esteemed companies, alongside providing specialized project consultation & mentoring.


My current focus is on delivering comprehensive video courses that distill this extensive knowledge. I specialize in transforming intricate concepts into clear, practical, and actionable insights, supported by real-world examples. This approach is designed to equip you with the necessary clarity and confidence for sustained growth and impactful contributions within your projects and career trajectory.


Begin your learning journey with me now and unlock the advanced understanding and practical expertise essential for making a significant impact in your field.


Keep in touch

Subscribe for announcements, new courses & discount coupons

Yes please, save my details so you can send me educational content that is relevant and helpful.