Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
C++ internals for software engineer role
·
Module 9
Essential C++ Design Patterns
1
Thread-Safe Singleton with `std::call_once`
Implement a thread-safe Singleton pattern using `std::call_once` to prevent race conditions during initialization.
2
Polymorphic Factory Method
Implement the Factory Method pattern using polymorphism to allow subclasses to decide which class to instantiate.
3
Building Complex Objects with the Builder Pattern
Implement the Builder pattern to construct complex objects step-by-step, separating construction from representation.
4
Implementing the Adapter Pattern
Implement the Adapter pattern to make an existing class's interface compatible with another.
5
Dynamic Object Enhancement with Decorator
Implement the Decorator pattern to dynamically add responsibilities to objects without affecting other objects.
6
Implementing Strategy Pattern with Polymorphism/Templates
Implement the Strategy pattern using polymorphism or templates to define a family of algorithms and make them interchangeable.
7
Observer Pattern for Event Notification
Implement the Observer pattern to create a one-to-many dependency between objects for event notification.
8
Command Pattern: Encapsulate, Queue, and Undo
Implement the Command pattern to encapsulate a request as an object, enabling queuing and undoable operations.
Previous module
Advanced C++ Concurrency
Next module
Concurrency and Architectural Patterns