Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
How to write SOLID C++
Rating: 4.6 out of 5(24 ratings)
127 students

How to write SOLID C++

Design maintainable and reusable C++ for production
Created byDimitris Platis
Last updated 12/2023
English

What you'll learn

  • Understand the essence of SOLID principles
  • Analyze existing code for SOLID principle compliance
  • Evaluate the need for refactoring to comply with the SOLID principles
  • Write C++ that adheres to the SOLID principles, resulting in production-ready maintainable and reusable software

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

7 sections8 lectures38m total length
  • Introduction to the course5:00

    Understand what this course is about and what you can get out of it as a C++ developer

  • Introduction to the labs3:57

    Understand the structure of the labs and how they are supposed to be solved

  • Sample lab (1/2)
  • Sample lab (2/2)

Requirements

  • Basic understanding of object oriented programming.
  • Good understanding of polymorphism, classes and inheritance in C++.
  • Basic familiarity with common STL containers and data structures, such as std::vector, std::string etc.

Description

In this course, we learn how to develop C++ according to the SOLID Principles.
Have you ever heard of the SOLID principles? They are design principles that help us write maintainable and reusable code.

If you are familiar with SOLID, you might have watched a tutorial or two.
Were the tutorials using "Shape" or "Animal" classes in their oversimplified examples?
Were they written in Java or focused on some domain you are not interested in?

Well, this course is different.
First of all, you get a real insight into what the SOLID principles are about. No sugar-coating, no fancy design patterns, or exotic language features.

Secondly, the course is in C++. Simple, modern C++ with pragmatic examples you may encounter in production code-bases.
Production code is not always perfect, but it is normally not terrible either.
Violations of SOLID are subtle, and you will learn to recognize them.
Refactoring does not always makes sense, but after this course you will be able to determine when it does.

Step-by-step, we go through each principle and map it to well-known programming practices and quality attributes.
We look at several practical examples and discuss how they can be improved by following the SOLID principles.
We analyze code and identify violations of the principles.
Finally, we refactor C++ to make it more SOLID and discuss whether or when that makes sense.

You are looking a hands-on course. You will write a lot of SOLID C++ code yourself. There is a lab for each principle, where you will receive a piece of code, analyze it, and then refactor it to make it more SOLID.

Intrigued? Ready to take your C++ to the next level? Join me in this course, and let's get started!

Who this course is for:

  • Beginner to intermediate C++ developers, who want to take their career to the next level
  • C++ developers who have a passion for crafting maintainable and reusable software for production