Design Patterns in C++

Make your code base affordable and easy to change by using design patterns in the right way

This hands-on, practical workshop teaches programmers how to use reusable solutions to common problems when designing software.

As a Software Developer, through hands-on exercises, activities and theoretical discussions, you will understand: why, how and when to use design patterns when writing code or when refactoring.

The participants are introduced to the key design principles behind the patterns and discusses the testability of various patterns.

Why Attend

  • You want to learn how to create changeable software
  • Changing code takes you a lot of time; find out how to refactor it to be better
  • Minimize the development risks by using good design principles

After this workshop you will also be able to:

  • Spot places where your code is hard to change and use some patterns to make it more flexible
  • Know how to incrementally refactor the code needed to be easier to change
  • Write code with smaller cost of change

Who Should Attend

  • Software Developers who want to learn more about software design
  • Architects who need a top level view on design
  • Technical Managers for whom standard good design practices are important

Practical Details

  • Language: English
  • Experiential, hands-on, interactive online learning with practical examples
  • Participants will be awarded a Mozaic Works certificate of completion

This Learning Program is Available on Demand


    • Design patterns overview
    • Design principles
    • Creational patterns. Eg. Singleton, Factory, Builder, Prototype
    • Structural patterns. Eg. Adapter, Bridge, Facade, Proxy
    • Behavioral patterns. Eg. Command, Iterator, Mediator, Null Object, Observer, State, Strategy, Template method, Visitor
    • Concurrency Patterns. Eg. Active Object, Lock, Monitor object, Read-write lock, Thread pool
    • Refactoring to patterns
    • Briefly about Anti-Patterns
    • Refactor team’s production code to patterns.
    • Other topics based on your requests

    More details and full agenda here


    You must be proficient in C++.

    You need a laptop with a fully working development environment to use during the class.

    Meet Your Trainers

    Alex Bolboaca

    CTO, Senior Trainer at Mozaic Works

    With over 20 years of international experience in the world of software and technology, Alexandru shares about himself: Being deeply passionate about technology creation I am a continuous learner in the field. Between reading, trying out technologies and multiple programming languages, presenting and participating to developer communities and conferences, I have learned enough to write two books and teach hundreds of developers. I love working with smart people who want to get better at what they do, whether it’s team work, communication, management or technical skills. I offer you my passion, my experience and my capacity to adapt to your needs. About Alex Over 20-years experience in software development, technology and transformations fields Polyglot programmer who uses modern development practices in C/C++,…

    More about Alex Bolboaca >
      Your Cart
      Your cart is empty
        Apply Coupon
        Scroll to Top