The Observer Design Pattern in Cpp - Mike Shah - CppCon 2022
https://cppcon.org/ --- The Observer Design Pattern in Cpp - Mike Shah - CppCon 2022 https://github.com/CppCon/CppCon2022 Games, desktop software, phone apps, and almost every software that a user interacts with has some sort of event handling system. In order to handle events, a common behavior design pattern known as the 'observer pattern' allows one or more objects to monitor if a change of state takes place in another object. In this talk, we are going to do a deep dive into the behavioral design pattern known as the observer. The pattern utilizes a Subject and Observer (or publisher and subscriber) model to notify when state has changed from the subject to one or more observers in order to help make our software more maintainable, extensible, and flexible. I will show some examples of the observer in modern C++ as well as real world use cases of where observers are used for further study. Finally, I'll discuss the tradeoffs of the observer pattern, and discuss which scenarios you may not actually want to use the observer pattern. Attendees will leave this talk with the knowledge to go forward and implement the observer pattern, as well as how to spot the observer design pattern in projects they may already be working on! --- Mike Shah Mike Shah is an Associate Teaching Professor at Northeastern University in the Khoury College of Computer Sciences. His primary teaching interests are in computer systems, computer graphics, and software engineering. His research interests are related to performance engineering (dynamic analysis), software visualization, and computer graphics. Along with teaching and research work, he have juggled occasional consulting work as a 3D Senior Graphics Engineer in C++. Mike discovered computer science at the age of 13 when googling ”how do I make games”. From that google search, Mike has worked as a freelance game developer, worked in industry for Intel, Sony Playstation, Oblong Industries, and researched at The Ohio Supercomputer Center to name a few. Mike cares about building tools to help programmers monitor and improve the performance of realtime applications– especially games. In Michael’s spare time he is a long distance runner, weight lifter, and amateur pizza maker. __ Work at Hudson River Trading (HRT): https://tinyurl.com/safxfctf --- Videos Filmed & Edited by Bash Films: http://www.BashFilms.com YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk #cppcon #programming #cpp

Back to Basics: Cpp Value Semantics - Klaus Iglberger - CppCon 2022

Smarter Cpp Atomic Smart Pointers - Efficient Concurrent Memory Management - Daniel Anderson CppCon

The Observer Design Pattern in C++ - Part 1 of n - A simple implementation

Event-Driven Architectures Done Right, Apache Kafka • Tim Berglund • Devoxx Poland 2021

Back to Basics: Templates in C++ - Nicolai Josuttis - CppCon 2022

Breaking Dependencies: Type Erasure - A Design Analysis - Klaus Iglberger - CppCon 2021

From Fragmentation to Foundation Building Enterprise Ready Data Contracts That Scale

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains

Back to Basics - Name Lookup and Overload Resolution in C++ - Mateusz Pusz - CppCon 2022

Back to Basics: C++ API Design - Jason Turner - CppCon 2022

Place your brain in the frequency of wealth, prosperity and total abundance - Attraction Law

Design Patterns Revisited in Modern Java by Venkat Subramaniam

C++ Under the Hood: (Internal Class Mechanisms) - Chris Ryan - NDC TechTown 2024

Back to Basics: Designing Classes (part 2 of 2) - Klaus Iglberger - CppCon 2021

What Is an Image? - Cpp Computer Graphics Tutorial, (GPU, GUI, 2D Graphics and Pixels Explained)

Back to Basics: Debugging in C++ - Mike Shah - CppCon 2022

Trading at light speed: designing low latency systems in C++ - David Gross - Meeting C++ 2022

Modern Architecture 101 for New Engineers & Forgetful Experts - Jerry Nixon - NDC Copenhagen 2025

C++ in Constrained Environments - Bjarne Stroustrup - CppCon 2022

