Behavioral Design Patterns in Modern C++

Go beyond simple object structure to focus on how objects interact, communicate, and distribute responsibilities effectively. Learn to implement elegant solutions for algorithm encapsulation, state management, and decoupled communication using proven behavioral patterns.

Course Description

This comprehensive course on Behavioral Design Patterns in Modern C++ delves into the sophisticated ways objects interact, communicate, and distribute responsibilities to achieve flexible and reusable software designs. Moving beyond static class structures, the curriculum systematically explores how to effectively manage algorithms, assign duties between objects, and control their state and responses through a wide array of proven patterns. Participants will learn to implement powerful solutions like the Strategy pattern for interchangeable algorithms, Command for encapsulating requests (including undo/redo functionality), Observer for building reactive systems, Mediator for simplifying complex communication, State and Memento for managing object behavior and history, and Visitor for adding operations to class hierarchies, among others. Each pattern is demonstrated with practical examples using contemporary C++ idioms, enabling developers to build dynamic, maintainable, and highly adaptable C++.

Features

12.5-hrs On Demand Video

Exclusive 1-on-1 With Instructor

Course Completion Certificate

Priority Q/A

Full Lifetime Access

Community Access

Curriculum

Understand in detail on what is planned under each module

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

Learn to implement flexible algorithms and encapsulate varying object behaviors using patterns like Strategy, State, and Template Method.

Decouple components in your system and manage dependencies elegantly with patterns such as Observer, Mediator, and Chain of Responsibility.

Implement sophisticated functionalities like undo/redo mechanisms (Command), state persistence (Memento), and custom object traversal (Iterator).

Apply a comprehensive suite of Behavioral Design Patterns using idiomatic Modern C++ techniques and best practices.

Write C++ code that is significantly more dynamic, responsive, and easier to adapt to evolving requirements.

Requirements

  • Basic knowledge of C++
  • Some understanding of object-oriented programming concepts
  • 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.