HOME > Development > Design Patterns in Modern C++

Design Patterns in Modern C++

  • Development
  • Feb 05, 2025
SynopsisDesign Patterns in Modern C++, available at $99.99, has an av...
Design Patterns in Modern C++  No.1

Design Patterns in Modern C++, available at $99.99, has an average rating of 4.43, with 129 lectures, 21 quizzes, based on 6627 reviews, and has 40954 subscribers.

You will learn about Recognize and apply design patterns Refactor existing designs to use design patterns Reason about applicability and usability of design patterns Learn how to use different aspects of Modern C++ This course is ideal for individuals who are Beginner and experienced C++ software developers or Developers interested in implementations of design patterns or Computer scientists It is particularly useful for Beginner and experienced C++ software developers or Developers interested in implementations of design patterns or Computer scientists.

Enroll now: Design Patterns in Modern C++

Summary

Title: Design Patterns in Modern C++

Price: $99.99

Average Rating: 4.43

Number of Lectures: 129

Number of Quizzes: 21

Number of Published Lectures: 129

Number of Published Quizzes: 21

Number of Curriculum Items: 150

Number of Published Curriculum Objects: 150

Original Price: $89.99

Quality Status: approved

Status: Live

What You Will Learn

  • Recognize and apply design patterns
  • Refactor existing designs to use design patterns
  • Reason about applicability and usability of design patterns
  • Learn how to use different aspects of Modern C++
  • Who Should Attend

  • Beginner and experienced C++ software developers
  • Developers interested in implementations of design patterns
  • Computer scientists
  • Target Audiences

  • Beginner and experienced C++ software developers
  • Developers interested in implementations of design patterns
  • Computer scientists
  • Course Overview

    This course provides a comprehensive overview of?Design Patterns in Modern?C++?from a practical perspective. This course in particular covers patterns with the use of:

  • The latest versions of the C++ programming language
  • Use of modern programming approaches:?dependency injection, use of coroutines, and more!
  • Use of modern developer tools such as CLion and?ReSharper?C++
  • Discussions of pattern variations and alternative approaches
  • This course provides an overview of all the Gang of Four (GoF)?design patterns as outlined in their seminal book, together with modern-day variations, adjustments, discussions of intrinsic use of patterns in the language.

    What are Design Patterns?

    Design Patterns are reusable solutions to common programming problems. They were popularized with the 1994 book?Design?Patterns:?Elements of Reusable Object-Oriented Software?by?Erich Gamma,?John Vlissides, Ralph Johnson and Richard Helm?(who are commonly known as a Gang of Four, hence the GoF acronym).

    The original book was written using C++?and Smalltalk as examples, but since then, design patterns have been adapted to every programming language imaginable: Swift, C#, Java, PHP and even programming languages that aren’t strictly object-oriented, such as JavaScript.

    The appeal of design patterns is immortal:?we see them in libraries, some of them are intrinsic in programming languages, and you probably use them on a daily basis even if you don’t realize they are there.

    What Patterns Does This Course?Cover?

    This course covers?all?the GoF design patterns. In fact, here’s the full list of what is covered:

  • SOLID?Design Principles: Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle and?Dependency Inversion Principle
  • Creational Design Patterns:?Builder, Factories (Factory Method and Abstract?Factory), Prototype and?Singleton
  • Structrural Design Patterns: Adapter, Bridge,?Composite, Decorator, Fa?ade,?Flyweight and?Proxy
  • Behavioral Design Patterns: Chain of Responsibility,?Command, Interpreter, Iterator, Mediator, Memento, Null Object, Observer, State, Strategy, Template?Method and Visitor
  • Who Is the Course For?

    This course is for C++?developers who want to see not just textbook examples of design patterns, but also the different variations and tricks that can be applied to implement design patterns in a modern way.

    Presentation Style

    This course is presented as a (very large)?series of live demonstrations being done in JetBrains?CLion. Most?demos are single-file, so you can download the file attached to the lesson and run it in CLion, XCode?or another?IDE?of your choice (or just on the command line).

    This course does not use UML?class diagrams; all of demos are live coding.

    Course Curriculum

    Chapter 1: Introduction

    Lecture 1: Introduction

    Chapter 2: SOLID Design Principles

    Lecture 1: Overview

    Lecture 2: Single Responsibility Principle

    Lecture 3: Open-Closed Principle

    Lecture 4: Liskov Substitution Principle

    Lecture 5: Interface Segregation Principle

    Lecture 6: Dependency Inversion Principle

    Lecture 7: Summary

    Chapter 3: Builder

    Lecture 1: Gamma Categorization

    Lecture 2: Overview

    Lecture 3: Life Without Builders

    Lecture 4: Builder

    Lecture 5: Fluent Builder

    Lecture 6: Groovy-Style Builder

    Lecture 7: Builder Facets

    Lecture 8: Summary

    Chapter 4: Factories

    Lecture 1: Overview

    Lecture 2: Point Example

    Lecture 3: Factory Method

    Lecture 4: Factory

    Lecture 5: Inner Factory

    Lecture 6: Abstract Factory

    Lecture 7: Functional Factory

    Lecture 8: Summary

    Chapter 5: Prototype

    Lecture 1: Overview

    Lecture 2: Record Keeping

    Lecture 3: Prototype

    Lecture 4: Prototype Factory

    Lecture 5: Prototype via Serialization

    Lecture 6: Summary

    Chapter 6: Singleton

    Lecture 1: Overview

    Lecture 2: Singleton Implementation

    Lecture 3: Testability Issues

    Lecture 4: Singleton in Dependency Injection

    Lecture 5: Singleton Lifetime in DI Container

    Lecture 6: Monostate

    Lecture 7: Multiton

    Lecture 8: Summary

    Chapter 7: Adapter

    Lecture 1: Overview

    Lecture 2: Vector/Raster Demo

    Lecture 3: Adapter Caching

    Lecture 4: Summary

    Chapter 8: Bridge

    Lecture 1: Overview

    Lecture 2: Pimpl Idiom

    Lecture 3: Shrink-Wrapped Pimpl

    Lecture 4: Bridge Implementation

    Lecture 5: Summary

    Chapter 9: Composite

    Lecture 1: Overview

    Lecture 2: Geometric Shapes

    Lecture 3: Neural Networks

    Lecture 4: Array-Backed Properties

    Lecture 5: Summary

    Chapter 10: Decorator

    Lecture 1: Overview

    Lecture 2: Dynamic Decorator

    Lecture 3: Static Decorator

    Lecture 4: Functional Decorator

    Lecture 5: Summary

    Chapter 11: Fa?ade

    Lecture 1: Overview

    Lecture 2: Fa?ade

    Lecture 3: Summary

    Chapter 12: Flyweight

    Lecture 1: Overview

    Lecture 2: Handmade Flyweight

    Lecture 3: Boost.Flyweight

    Lecture 4: Text Formatting

    Lecture 5: Summary

    Chapter 13: Proxy

    Lecture 1: Overview

    Lecture 2: Smart Pointers

    Lecture 3: Property Proxy

    Lecture 4: Virtual Proxy

    Lecture 5: Communication Proxy

    Lecture 6: Proxy vs Decorator

    Lecture 7: Summary

    Chapter 14: Chain of Responsibility

    Lecture 1: Overview

    Lecture 2: Pointer Chain

    Lecture 3: Broker Chain

    Instructors

  • Design Patterns in Modern C++  No.2
    Dmitri Nesteruk
    Software/Hardware Engineering ? Quant Finance ? Algotrading
  • Rating Distribution

  • 1 stars: 83 votes
  • 2 stars: 129 votes
  • 3 stars: 635 votes
  • 4 stars: 2371 votes
  • 5 stars: 3409 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!