Design Patterns and Architectural Patterns with C++

Program Overview

I’m happy to provide more details about my mentoring program, “Design Pattern and Architectural Pattern with C++”.

Level: Intermediate

Program Description

Design patterns and architectural patterns are the lingua franca of professional software developers. Knowing the patterns and applying them is a must for professional software developers and software architects.

Each week, you should master a new station. To master a station, you have to invest about three hours. Therefore, you can integrate my program into your workday.

Features

  • 200 video lectures
  • 20 one-hour sessions
  • Plus 50 posts

Extras

  • Q&A LIVE sessions
  • All media offline available
  • Instant access via E-Mail

Program structure

The mentoring program consists of 16 stations. For each station, you have to invest at least 3 hours per week. Therefore, you can integrate my program into your workday.

16 Stations

Each station consists of theory, practice, and mentoring:

  1. Introduction
    • Advantages
    • Origins and History
    • Classification: Gang of Four (GoF)
    • Classification: Pattern Oriented Software Architecture (POSA)
  2. Terminology
    • Structure
    • Patterns, Frameworks, and Algorithms
    • Pattern Sequences, and Pattern Languages
    • Anti-Patterns
  3. Design Patterns: Creational Patterns
    • Factory Method
    • Singleton
  4. Design Patterns: Structural Patterns
    • Adapter
    • Bridge
    • Decorator
  5. Design Patterns: Structural Patterns
    • Composite
    • Facade
    • Proxy
  6. Design Patterns: Behavioral Patterns
    • Observer
    • Visitor
    • Template Method
    • Strategy
  7. Idioms: General
    • Copy-and-Swap
    • Partial Function Application
    • Argument-Dependent Lookup
  8. Idioms: Classes
    • Hidden Friend
    • Rule of Zero/Six
    • Regular Type
  9. Idioms: Classes
    • Value Object
    • Null Object
    • Iterator Protocol
    • Covariant Return Type
  10. Idioms: Polymorphism
    • Dynamic Polymorphism
    • Curiously Recurring Template Pattern (CRTP)
    • Static Polymorphism
    • The Overload Pattern
  11. Idioms: Templates
    • Mixins
    • Expression Templates
    • Substitution Failure is not an Error (SFINAE)
  12. Idioms: Templates
    • Policy
    • Traits
    • Tag Dispatching
    • Type Erasure
  13. Architectural Patterns
    • Layers
    • Pipes-and-Filters
    • Broker
    • Model-View-Controller (MVC)
    • Reactor
  14. Synchronization Patterns: Dealing with Mutation
    • Copied Value
    • Thread-Specific Storage
    • Future
  15. Synchronization Patterns: Dealing with Sharing
    • Scoped Locking
    • Strategized Locking
    • Thread-Safe Interface
    • Guarded Suspension
  16. Concurrent Architecture
    • Active Object
    • Monitor Object

One Station Concept

Each mentoring program consists of 16 to 30 stations you have to master. A station is one week long, and you should invest about three hours/week. Therefore, you can integrate my program into your workday. Each station consists of theory, practice, and mentoring:

Theory

  • Pure theory: 10 slides (video)
  • Applied theory: 5 examples (video)
  • Additional: Posts and Training videos

Practice

  • Practical exercises (videos)
  • Sample solutions to the exercises (video)
  • Active C++ community in moderated forums

Mentoring

  • Each week: Live Q&A session based on Forum questions
  • One-to-one mentoring at the end of the mentoring program if requested

Sample Station

Try out week 3 of my Mentoring Program “Design Patterns and Architectural Patterns with C++”: Factory Method and Singleton.

Practice

Please click the button above to go to the LIVE view of my mentoring program.

Practice

Please click the button above to go to the LIVE view of my mentoring program.

The Ideal Mentee

First, you need a basic knowledge of C++, and you want to become a professional C++ developer in eight months. You have to invest at least three hours a week and can, therefore, integrate my program into your workday. In the ideal case, your company supports you with time and money.

Here are a few typical participant profiles I have in mind:

  • Young professionals who want to master the start of their career
  • Students who wish to prepare for their first job (interview)
  • Software developers who want to qualify themselves further professionally
  • Team leaders who want to bring their team members on the same page

Mentee Membership and Community Membership

When you master your mentoring program, you can extend your Mentee Membership with a Community Membership.

Mentee Membership

  • Member of a mentoring program
  • Includes the Community Membership

Community Membership

  • Access to the previous mentoring program
  • You cannot participate in the Q&A sessions, but you can watch recorded Q&A sessions
  • Becomes a community member if requested
  • Community Membership is €150 (lifetime)

My other Mentoring Programs

C++20: Get the Details

Level: Intermediate

Fundamentals for C++ Professionals

Level: Beginners

Concurrency with Modern C++

Level: Advanced