Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Design Patterns with C++
Rating: 3.2 out of 5(47 ratings)
3,924 students

Design Patterns with C++

Software Design Patterns in theory with implementations using C++
Created byOnur Tuna
Last updated 12/2018
English

What you'll learn

  • You will understand and implement design patterns.
  • Advance your skills in C++.
  • Practice on Object-Oriented Programming.

Course content

3 sections30 lectures2h 31m total length
  • Abstract Factory in Theory3:35

    Explore the abstract factory pattern for creating families of related objects across platforms, emphasizing portability and platform dependence, with a coffee-making example illustrating product variants.

  • Abstract Factory Implementation9:47
  • Quiz
  • Builder in Theory2:14
  • Builder Implementation17:27

    Learn to implement the builder design pattern in C++, constructing a transformer product with vehicle type and part lists under a director outside the namespace.

  • Quiz
  • Factory Method in Theory1:29

    Explore the factory method concept by using an interface for product types, avoiding direct constructors, and leveraging class-specific static methods to instantiate espresso or Americano.

  • Factory Method Implementation6:57
  • Quiz
  • Prototype in Theory1:43
  • Prototype Implementation11:38
  • Quiz
  • Singleton in Theory1:10
  • Singleton Implementation4:58
  • Quiz

Requirements

  • Basic knowledge on any object-oriented language.

Description

This course offers a hands-on and example-oriented approach to learning design patterns in C++. It’s specifically crafted to help you strengthen your understanding of object-oriented architecture through real world and practical implementations. Rather than overwhelming you with heavy theory, it guides you step-by-step using clear and concise examples that demonstrate how design patterns can be used to solve common software design problems.


All you need to get started is a basic knowledge of object-oriented programming. Whether you’ve just learned about classes and inheritance or have some beginner experience with C++, this course is designed to build upon that foundation and elevate your thinking to a more architectural level.


If you’re new to programming or transitioning into software development, this course will introduce you to essential software engineering principles using C++ through abstraction, encapsulation, and modular design. By the end, you’ll not only recognize major design patterns such as Singleton, Factory, Observer, Strategy, and more—but also understand when and how to apply them effectively in your own projects.


This course is ideal for beginners who are eager to improve their coding practices, design cleaner codebases, and gain a solid grasp of reusable, scalable software architecture—all through practical, approachable examples in C++.

Who this course is for:

  • Developers
  • Beginner coders who want to improve their skills