We may earn an affiliate commission when you visit our partners.
Course image
Dmitri Nesteruk
A look at the creational design patterns and their implementation using Modern C++. Covers the Factory design pattern (Factory Method, Abstract Factory) as well as Builder, Prototype, and Singleton. Also covers the SOLID design principles, demonstrates Dependency Injection via Boost.DI, and even shows an example of a Maybe Monad.
Enroll now

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops core design patterns in Modern C++
Taught by Dmitri Nesteruk, a recognized contributor to C++ development
Covers essential design principles for software development
Demonstrates practical implementation of design patterns in real-world scenarios
Introduces advanced concepts like Dependency Injection and Maybe Monad for practical application
Requires familiarity with C++ programming language and object-oriented design concepts

Save this course

Save Design Patterns in C++: Creational to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Design Patterns in C++: Creational. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Design Patterns in C++: Creational will develop knowledge and skills that may be useful to these careers:
Technical Lead
Technical Leads are responsible for leading and managing a team of software engineers. This course would be helpful to individuals in this career path as it can help them develop their understanding of creational design patterns and how to implement them using Modern C++. The course may also be useful for Technical Leads who wish to learn more about Dependency Injection via Boost.DI and Maybe Monads.
Software Architect
Software Architects design and develop the overall architecture of software systems. This course would be helpful to individuals in this career path as it can help them develop their understanding of creational design patterns and how to implement them using Modern C++. The course may also be useful for Software Architects who wish to learn more about Dependency Injection via Boost.DI and Maybe Monads.
Principal Software Engineer
Principal Software Engineers are responsible for leading and managing large software engineering projects. This course would be helpful to individuals in this career path as it can help them develop their understanding of creational design patterns and how to implement them using Modern C++. The course may also be useful for Principal Software Engineers who wish to learn more about Dependency Injection via Boost.DI and Maybe Monads.
Chief Technology Officer
Chief Technology Officers are responsible for overseeing the development and deployment of an organization's technology infrastructure. This course would be helpful to individuals in this career path as it can help them develop their understanding of creational design patterns and how to implement them using Modern C++. The course may also be useful for Chief Technology Officers who wish to learn more about Dependency Injection via Boost.DI and Maybe Monads.
Software Engineer
Software Engineers apply their knowledge of computer science and engineering to the design, development, testing, and deployment of computer software. This course would be helpful to individuals in this career path as it can help them develop their understanding of creational design patterns and their implementation using Modern C++. The course may also be useful for Software Engineers who wish to learn more about Dependency Injection via Boost.DI and Maybe Monads.
Senior Software Engineer
Senior Software Engineers are responsible for leading and mentoring junior software engineers. This course would be helpful to individuals in this career path as it can help them develop their understanding of creational design patterns and how to implement them using Modern C++. The course may also be useful for Senior Software Engineers who wish to learn more about Dependency Injection via Boost.DI and Maybe Monads.
Quantitative Analyst
Quantitative Analysts use their knowledge of mathematics, statistics, and computer science to develop financial models. This course would be helpful to individuals in this career path as it can help them develop their understanding of creational design patterns and how to implement them using Modern C++. The course may also be useful for Quantitative Analysts who wish to learn more about Dependency Injection via Boost.DI and Maybe Monads.
Data Scientist
Data Scientists use their knowledge of mathematics, statistics, and computer science to extract insights from data. This course would be helpful to individuals in this career path as it can help them develop their understanding of creational design patterns and how to implement them using Modern C++. The course may also be useful for Data Scientists who wish to learn more about Dependency Injection via Boost.DI and Maybe Monads.
Machine Learning Engineer
Machine Learning Engineers design and develop machine learning models. This course would be helpful to individuals in this career path as it can help them develop their understanding of creational design patterns and how to implement them using Modern C++. The course may also be useful for Machine Learning Engineers who wish to learn more about Dependency Injection via Boost.DI and Maybe Monads.
Investment Banker
Investment Bankers provide financial advice to corporations and governments. This course would be helpful to individuals in this career path as it can help them develop their understanding of creational design patterns and how to implement them using Modern C++. The course may also be useful for Investment Bankers who wish to learn more about Dependency Injection via Boost.DI and Maybe Monads.
Management Consultant
Management Consultants provide advice to businesses on how to improve their operations and performance. This course would be helpful to individuals in this career path as it can help them develop their understanding of creational design patterns and how to implement them using Modern C++. The course may also be useful for Management Consultants who wish to learn more about Dependency Injection via Boost.DI and Maybe Monads.
Strategy Consultant
Strategy Consultants provide advice to businesses on how to develop and implement strategies for growth. This course would be helpful to individuals in this career path as it can help them develop their understanding of creational design patterns and how to implement them using Modern C++. The course may also be useful for Strategy Consultants who wish to learn more about Dependency Injection via Boost.DI and Maybe Monads.
Financial Analyst
Financial Analysts use their knowledge of finance and accounting to analyze financial data and make investment recommendations. This course would be helpful to individuals in this career path as it can help them develop their understanding of creational design patterns and how to implement them using Modern C++. The course may also be useful for Financial Analysts who wish to learn more about Dependency Injection via Boost.DI and Maybe Monads.
Business Analyst
Business Analysts analyze business processes and recommend improvements. This course would be helpful to individuals in this career path as it can help them develop their understanding of creational design patterns and how to implement them using Modern C++. The course may also be useful for Business Analysts who wish to learn more about Dependency Injection via Boost.DI and Maybe Monads.
Product Manager
Product Managers are responsible for the development and marketing of products. This course may be helpful to individuals in this career path as it could help them develop their understanding of creational design patterns and how to implement them using Modern C++. However, this course will not be useful for Product managers who wish to specifically learn about the software development aspects of the product development process.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Design Patterns in C++: Creational.
Provides a deep dive into modern C++ design techniques, including the use of templates, metaprogramming, and design patterns. It valuable resource for anyone who wants to write high-quality, reusable C++ code.
Provides a comprehensive overview of design patterns in Java, but the concepts it introduces are applicable to C++ as well. It uses a conversational tone and engaging examples to make learning about design patterns enjoyable and accessible.
Provides a collection of practical tips and guidelines for writing effective C++ code. It covers a wide range of topics, including design patterns, coding conventions, and debugging techniques.
Provides a collection of best practices and guidelines for writing modern C++ code. It valuable resource for anyone who wants to improve the quality and efficiency of their code.
Is the definitive guide to concurrency in C++. It covers a wide range of topics, including threads, locks, and synchronization. It valuable resource for anyone who wants to write concurrent C++ code.
Provides a comprehensive overview of C++ templates, including advanced topics such as template metaprogramming. It valuable resource for anyone who wants to write generic and efficient C++ code.
Provides a quick reference to the C++ Standard Library. It valuable resource for anyone who wants to learn more about the standard library and how to use it effectively.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser