Creational Design Patterns in Modern C++

Video description

Learn how to implement creational design patterns in modern C++ with the help of expert guidance and real-world examples

About This Video

  • Become familiar with creational design patterns
  • Solve object construction problems with creational design patterns
  • Understand the role of C++ in implementing design patterns

In Detail

The best way to solve common object-oriented design problems is by implementing design patterns. However, understanding and learning design patterns can be time-consuming and intimidating, but this course has got you covered! With Creational Design Patterns in Modern C++, you’ll learn how to understand and implement creational design patterns in C++ with the help of engaging examples.

The course begins with an introduction to creational patterns, giving you a tour of UML class diagrams and SOLID principles. You’ll become familiar with logger classes, multithreading, and patterns and gain a solid understanding of singletons in C++. As you progress, you’ll get to grips with the factory method and find out how to implement it in the application framework. Once you’ve covered the intent, structure, and implementation of the object pool pattern, you’ll discover how to use the abstract factory pattern. Finally, you’ll delve into prototype implementation with the help of a gaming example and apply the builder pattern.

By the end of this course, you’ll have developed skills needed to create and implement patterns in modern C++.

Publisher resources

Download Example Code

Table of contents

  1. Chapter 1 : Introduction
    1. Course Introduction 00:03:05
    2. Introduction to Patterns 00:04:58
    3. Overview of the Unified Modeling Language (UML) Class Diagram 00:08:24
    4. S.O.L.I.D. Principles - Part I 00:04:57
    5. S.O.L.I.D. Principles - Part II 00:04:59
    6. S.O.L.I.D. Principles - Part III 00:05:08
    7. Creational Patterns - Overview 00:02:11
  2. Chapter 2 : Singleton
    1. Introduction 00:03:49
    2. Basic Example 00:03:17
    3. Logger Class - Part I 00:07:22
    4. Logger Class - Part II 00:05:48
    5. Lazy Instantiation 00:04:08
    6. Destruction Policies 00:08:12
    7. Multithreading Issues 00:06:12
    8. Why a Double-Checked Locking Pattern (DCLP) Fails? 00:08:08
    9. Meyer's Singleton 00:02:46
    10. Using the std::call_once Function 00:04:38
    11. CRTP Idiom 00:04:40
    12. Clock Class 00:05:27
    13. Monostate Pattern 00:05:59
    14. Singleton Versus Monostate 00:02:33
    15. Singleton Issues 00:05:44
    16. Registry of Singletons - Part I 00:09:38
    17. Registry of Singletons - II 00:08:23
    18. Pros and Cons 00:04:22
  3. Chapter 3 : Factory Method
    1. Introduction 00:06:16
    2. Basic Implementation - Part I 00:04:53
    3. Basic Implementation - Part II 00:07:21
    4. Application Framework - Discussion 00:03:23
    5. Application Framework - Implementation 00:03:52
    6. Application Framework with the Factory Method 00:08:05
    7. Parameterized Factory Method 00:09:07
    8. std::unique_ptr 00:06:41
    9. std::shared_ptr 00:07:23
    10. Pros and Cons 00:05:04
  4. Chapter 4 : Object Pool
    1. Introduction 00:05:07
    2. Basic Example 00:06:29
    3. Pooling Game Objects - Part I 00:07:24
    4. Pooling Game Objects - Part II 00:06:03
    5. Multiple Actors - Part I 00:04:20
    6. Multiple Actors - Part II 00:07:37
    7. Multiple Actors - Part III 00:09:12
    8. Generic Pool - Part I 00:05:46
    9. Generic Pool - Part II 00:09:11
    10. Pros and Cons 00:03:43
  5. Chapter 5 : Abstract Factory
    1. Introduction 00:06:16
    2. Basic Example 00:06:24
    3. Basic Implementation with the Abstract Factory 00:06:40
    4. Database Framework - Introduction 00:05:40
    5. Database Framework - Implementation 00:03:47
    6. SQL Server Database Classes 00:06:30
    7. MySQL Database Classes 00:03:13
    8. Database Framework Usage 00:04:29
    9. Using the Factory Method 00:08:24
    10. Using the Abstract Factory 00:06:26
    11. Pros and Cons 00:08:14
  6. Chapter 6 : Prototype
    1. Introduction 00:03:59
    2. Cloning Types 00:04:39
    3. Basic Example 00:04:49
    4. Game - Introduction 00:03:30
    5. Game Implementation - Part I 00:06:55
    6. Game Implementation - Part II 00:04:36
    7. Game Implementation - Part III 00:07:22
    8. Cloning Example 00:04:53
    9. Game Implementation - Part IV 00:06:46
    10. Game Implementation - Part V 00:03:22
    11. Game Implementation - Part VI 00:05:35
    12. Class Versus Object 00:04:55
    13. Varying State 00:04:38
    14. Prototype Manager - Part I 00:06:09
    15. Prototype Manager - Part II 00:04:10
    16. Memory Management 00:03:30
    17. Pros and Cons 00:06:07
  7. Chapter 7 : Builder
    1. Introduction 00:04:28
    2. Basic Implementation 00:05:41
    3. File Example - Introduction 00:05:43
    4. Issues 00:05:46
    5. Builder Implementation 00:06:01
    6. Construction Using the Builder Pattern 00:04:06
    7. Modern Implementation 00:06:57
    8. Fluent Builder 00:05:42
    9. Pros and Cons 00:04:14

Product information

  • Title: Creational Design Patterns in Modern C++
  • Author(s): Umar Lone
  • Release date: October 2020
  • Publisher(s): Packt Publishing
  • ISBN: 9781800568242