Modern C++ Design Patterns - online



Kursarrangør: Programutvikling AS
Sted: Nettkurs / Nettstudie
Hele landet
Type:Nettkurs og nettstudie
Studie / yrkesutdanning
Undervisningstid: Ta kontakt for informasjon

We provide online course about Modern C++ Design Patterns. Design patterns have proven themselves invaluable over several decades and thus knowledge about them is essential to design robust, decoupled systems.

Content:
Modern C++, however, has profoundly changed the way we use C++, how we think about design and implement solutions. This also affects how we implement design patterns. This training class explores modern C++ design and the modern forms of classic design patterns. It provides guidelines, idioms and best practices for sustainable and maintainable design, which enables programmers to create professional, high-quality code.

Amongst others it will answer the following questions:
• How does good C++ design with a minimum of dependencies look like
• What are the most important rules for robust, maintainable, and sustainable design
• What are the most common pitfalls in C++ software design
• Why does classical C++ design based on inheritance hierarchies fail so often
• How are the classic design patterns implemented in modern C++
• What are alternatives to the classic design patterns

After this course, participants will:
• Have a detailed understanding of the essential design principles
• Understand the benefits of separation of concerns
• Be able to design code with minimum dependencies
• Have an impression of the modern alternatives of classic design patterns
• Have gained knowledge about modern design techniques
• Understand how std::function, std::any, and ranges work
• Favor composition over inheritance
• Avoid the usual pitfalls in the context of inheritance
• Know about the importance of value semantics
• Comprehend the advantages of non-intrusive design

Speaker: Klaus Iglberger, C++ Trainer / Consultant

Klaus Iglberger is a freelancing C++ trainer and consultant. He has finished his PhD in computer science in 2010 and since then is focused on large-scale C++ software design. He shares his experience in popular advanced C++ courses around the world (mainly in Germany, but also the EU and US). Additionally, he is the author of "C++ Software Design".

Target audience:
Anyone who wants online course about Modern C++ Design Patterns

Prerequisites:
• Participants are required to have at least two to three years of C++ experience. The course expects that all participants are familiar with the syntax of the language and have used inheritance and templates before.

Computer setup:
For the hands-on programming tasks, you are expected to use your own machine. Any operating system (Windows, Linux, MacOS), any IDE/editor (MS Visual Studio, CLion, vi, emacs) and any compiler capable of at least C++14 (GCC, Clang, MSVC) can be used.