What you'll learn

  • Understand what behavioral design patterns are

  • How behavioral design patterns use compile & runtime polymorphism to solve design problems

  • Implement behavioral design patterns using Modern C++ features

Prerequisites

  • Basic knowledge of C++

  • Good understanding of Object Oriented Programming

Course Overview

Note: The course is under development and is being released section-wise every week. It will be fully complete by 31st December 2020. However, you can still register and watch the sections already released.

This course aims to help you understand & implement Behavioral 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

    Strategy

    • Source Files

    • Introduction

    • Basic Example

      FREE PREVIEW
    • 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

  • 4

    Template Method

    • Source Files

    • Introduction

    • Basic Implementation

      FREE PREVIEW
    • Document Framework - I

    • Document Framework - II

    • Document Framework - III

    • Template Method - I

    • Template Method - II

    • Template Method - III

    • Pros & Cons

  • 5

    Command

  • 6

    Memento

    • Source Files

    • 01. Intro

    • 02. Basic Implementation

      FREE PREVIEW
    • 03. Account

    • 04. Hangman - I

    • 05. Hangman - II

    • 06. Hangman - III [Basic Checkpoints]

    • 07. Hangman - IV [Memento]

    • 08. Hangman - V [Memento]

    • 09. Hangman - VI [Serialization]

    • 10. Pros and cons

  • 7

    Chain Of Responsibility

    • Source Files

    • 01. Introduction

    • 02. Basic Implementation

      FREE PREVIEW
    • 03. Help System - I

    • 04. Help System - II

    • 05. Logging System - I

    • 06. Logging System - II

    • 07. Logging System - III

    • 08. Logging System - IV

    • 09. Pros and Cons

  • 8

    Iterator

    • Source Files

    • 01. Intro

    • 02. Basic Implementation

      FREE PREVIEW
    • 03. Organization - I

    • 04. Organization - II [Cursor]

    • 05. Organization - III [Iterator]

    • 06. Containers - I [Array]

    • 07. Containers - II [List]

    • 08. Containers - III [Issues]

    • 09. Containers - IV [ArrayIterator]

    • 10. Containers - V [ListIterator]

    • 11. Cpp Iterators - I

    • 12. Cpp Iterators - II

    • 13. Cpp Iterators - III [More Iterators]

    • 14. Pros and cons

  • 9

    Observer

    • Source Files

    • 01. Intro

    • 02. Basic Implementation

      FREE PREVIEW
    • 03. Alarm System

    • 04. Deck - I

    • 05. Deck - II

    • 06. Deck - III

    • 07. Deck - IV

    • 08. Sensor - I

    • 09. Sensor - II

    • 10. ChangeManager - I

    • 11. ChangeManager - II

    • 12. Pros cons

  • 10

    Mediator

  • 11

    State

    • Source Files

    • 01. Intro

    • 02. Basic Example

      FREE PREVIEW
    • 03. Lamp - I [NoState]

    • 04. Lamp - II [Enum States]

    • 05. Lamp - III [State Pattern]

    • 06. Lamp - IV [Yellow State]

    • 07. Lamp - V [Factory]

    • 08. Transition Table - I

    • 09. Transition Table - II

    • 10. Methods for States - I

    • 11. Methods for States - II

    • 13. Methods for States - IV

    • 14. Pros Cons

    • 12. Methods for States - III

  • 12

    Visitor

    • Introduction

    • Basic Implementation

    • Visitor for String Class

    • Drawing Application

    • Pros & Cons

  • 13

    Interpreter

    • Introduction

    • Basic Implementation

  • 14

    Temp Memento

    • 10.MEMENTO Pros and cons

    • 05.MEMENTO Hangman - II

    • 08.MEMENTO Hangman - V [Memento]

    • 03.MEMENTO Account

    • 06.MEMENTO Hangman - III [Basic Checkpoints]

    • 07.MEMENTO Hangman - IV [Memento]

    • 02.MEMENTO Basic Implementation

    • 09.MEMENTO Hangman - VI [Serialization]

    • 04.MEMENTO Hangman - I

  • 15

    Temp COR

    • 03.COR Help System - I

    • 08.COR Logging System - IV

    • 05.COR Logging System - I

    • 06.COR Logging System - II

    • 02.COR Basic Implementation

    • 09.COR Pros and Cons

    • 04.COR Help System - II

    • 07.COR Logging System - III

  • 16

    Temp Iterator

    • 03.ITERATOR Organization - I

    • 08.ITERATOR Containers - III [Issues]

    • 09.ITERATOR Containers - IV [ArrayIterator]

    • 06.ITERATOR Containers - I [Array]

    • 04.ITERATOR Organization - II [Cursor]

    • 07.ITERATOR Containers - II [List]

    • 14.ITERATOR Pros and cons

    • 05.ITERATOR Organization - III [Iterator]

    • 13.ITERATOR Cpp Iterators - III [More Iterators]

    • 10.ITERATOR Containers - V [ListIterator]

    • 12.ITERATOR Cpp Iterators - II

    • 02.ITERATOR Basic Implementation

    • 11.ITERATOR Cpp Iterators - I

  • 17

    Temp Observer

    • 10.OBSERVER ChangeManager - I

    • 12.OBSERVER Pros cons

    • 04.OBSERVER Deck - I

    • 02.OBSERVER Basic Implementation

    • 03.OBSERVER Alarm System

    • 06.OBSERVER Deck - III

    • 05.OBSERVER Deck - II

    • 09.OBSERVER Sensor - II

    • 11.OBSERVER ChangeManager - II

    • 08.OBSERVER Sensor - I

    • 07.OBSERVER Deck - IV

  • 18

    Temp Mediator

    • 09.MEDIATOR Pros Cons

    • 06.MEDIATOR Dialog - II

    • 07.MEDIATOR Dialog - III

    • 03.MEDIATOR Chat System - I

    • 05.MEDIATOR Dialog - I

    • 02.MEDIATOR Basic Implementation

    • 04.MEDIATOR Chat System - II

    • 08.MEDIATOR DIalog - III

  • 19

    TEMP State

    • 02.STATE Basic Example

    • 04.STATE Lamp - II [Enum States]

    • 14.STATE Pros Cons

    • 03.STATE Lamp - I [NoState]

    • 09.STATE Transition Table - II

    • 12.STATE Methods for States - III

    • 13.STATE Methods for States - IV

    • 07.STATE Lamp - V [Factory]

    • 11.STATE Methods for States - II

    • 06.STATE Lamp - IV [Yellow State]

    • 05.STATE Lamp - III [State Pattern]

    • 08.STATE Transition Table - I

    • 10.STATE Methods for States - I

Instructor

Owner at Poash Technologies

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 25,000 software professionals in a teaching career spanning more than 18 years. 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++.

FAQ

  • 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?

    Usually within 30 minutes.

  • What do I get when I purchase this course?

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

  • How long will I have access to this course?

    Lifetime access.

  • 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.